이것은 여기에 묻는 것조차도 나를 어리 석게 만드는 간단한 작업입니다. 그러나 오랫동안이 작업에 매달 렸기 때문에 여기에서 요청할 것입니다. Visual Studio에서 데이터 계층 응용 프로그램을 작업하고 있습니다. 테이블, 저장된 procs 및 일부 사후 전개 데이터와 같은 일반적인 것들을 가지고 있습니다. 기본적으로 데이터 계층 응용 프로그램에는 스크립트/배포 후 폴더가 있습니다. 이 폴더 안에 Script.PostDeployment.sql이라는 파일이 있습니다. 좀 더 조직화되기 위해서 StaticData 및 TestData로 배포 후 폴더를 만듭니다. 데이터 생성을위한 필자의 insert 문은이 폴더 내에 위치한다. 그래서,이 구조를 기반으로, 나는 나의 Script.PostDeployment.sql에 다음 코드를 추가하고 :데이터 계층 응용 프로그램 - 게시 이후 배포
/*
Post-Deployment Script Template
--------------------------------------------------------------------------------------
This file contains SQL statements that will be appended to the build script.
Use SQLCMD syntax to include a file in the post-deployment script.
Example: :r .\myfile.sql
Use SQLCMD syntax to reference a variable in the post-deployment script.
Example: :setvar TableName MyTable
SELECT * FROM [$(TableName)]
--------------------------------------------------------------------------------------
*/
:r .\StaticData\States.sql
:r .\TestData\Logins.sql
문제는 위의 코드가 작동하지 않는 것입니다. starnge 이유로 인해 deploy 명령은 경로를 무시하고 적절한 하위 폴더가 아닌 Scripts/Post-Deployment에서 States.sql 및 Logins.sql을 찾습니다. 다른 사람이 비슷한 것을 만났습니까? 아주 간단한 문제지만,이 문제를 해결하기 위해 나를 영원히 데려가 라. 나는 설명하기 위해 최선을 다했지만 질문을하고 나는 일을 더 분명하게하려고 노력할 수있다. 감사합니다.
그냥 몇 가지 포인트 : 비주얼 스튜디오의 (1) 버전을 사용중인
다음는 생성 된 스크립트 파일 (단지 관련 섹션)인가? (2) 배포 명령이 작동하지 않는다고 말하면 Visual Studio의 빌드 메뉴에서 배포 명령을 의미합니까? (3) 경로를 무시하는 것을 어떻게 결정하고 있습니까? 출력 창에서 빌드 된 파일을보고 있습니까? 아니면 다른 것을보고 있습니까? –
(1) SQL Server 2008 R2와 함께 Visual Studio 2010 Premium을 사용하고 있습니다. (2) 예 빌드 메뉴에서 배포 명령. (3) 비주얼 스튜디오가 경로를 무시하고 있다는 것을 알 수있는 방법은 출력 창을 볼 때입니다. - 오류 : 파일 '$ \ Scripts \ Post-Deployment \ States.sql'을 찾을 수 없습니다. –
흠. 나는 그것을 경험하지 않는다. 그것은 나를 위해 매력처럼 작동하지만 SQL 2008 R2는이 컴퓨터에 설치되어 있지 않습니다. SQL Express와 VS2010 만 있으면됩니다. 오류를 유발하는 것이 사후 배포 스크립트의 행인지 확인합시다. 해당 줄을 제거하면 오류가 사라 집니까?또는 States.sql 및 Logins.sql 파일을 사후 배포 폴더에 복사하면 오류가 사라지나요? –