2009-03-09 2 views
4

우리는 데이터베이스 스키마의 소스 제어를 위해 Visual Studio Database Project를 사용합니다. 또한 데이터베이스에서 특정 데이터 (구성 값 등)를 스크립팅하기 때문에 데이터를 삽입 스크립트에 덤프하는 데 사용자 정의 명령 줄 유틸리티를 사용합니다. 하나의 파일은 하나의 테이블의 스크립팅 된 데이터를 나타냅니다.배포 후 스크립트에서 SQLCMD : r 다루기

프로젝트의 Deploy 명령 이후에 자동으로 실행되는 post-deployment script라는 특정 SQL 스크립트가 있습니다. 여기에 다른 스크립트 파일을 링크하는 것이 좋으며 데이터 삽입 스크립트를 링크하고 싶습니다.

지침이 있기 때문에, 임의의 파일

SQLCMD :r <filename> 

문제는, 내 동료들이 소스 제어에서 다운로드 할 때 사용할 수있을 것입니다 표시되지 않습니다에서 구문 분석이 명령을 사용하는 말 : r 명령의 시작 디렉토리는 devenv.exe (VS dev. env.)가있는 위치입니다.

올바른 도구로 올바른 각도에서 데이터를 스크립팅하는 문제에 다가 가고 있습니까? 그렇다면 어떻게 실행 후 배포 스크립트 파일의 경로를 가져올 수 있습니까? 아니면 배포 후 스크립트로 경로를 하드 코딩하지 않고 삽입 스크립트를 구문 분석 할 수 있습니까?

답변

5

글쎄, 스크립트 파일의 상대 경로를 지정하는 것만으로 충분하다는 것이 밝혀졌습니다. Visual Studio의 Validate SQL Syntax 기능에 의해 오인 된 적이 있습니다.이 기능은 devenv.exe의 위치를 ​​시작 디렉토리로 사용하여 경로를 평가합니다.

그러나 프로젝트에서 배포를 실행하면 : r 명령은 스크립트의 디렉터리를 시작 디렉터리로 사용하므로 상대 경로를 사용하여 파일의 위치를 ​​쉽게 지정할 수 있습니다.