>

SSDT를 사용하여 데이터베이스 변경 사항을 게시하기 위해 다음 명령을 사용하고 있습니다.

"C:\Program Files\Microsoft SQL Server\150\DAC\bin\SqlPackage.exe" /Action:Publish /sf:DB.dacpac /Profile:publish.xml

publish.xml에서 하드 코딩 된 연결 문자열을 사용하는 대신 데이터베이스 연결 문자열을 인수로 제공하고 싶습니다. 어쨌든 그것을 무시할 수 있습니까?

내가 시도했다 :

"C:\Program Files\Microsoft SQL Server\150\DAC\bin\SqlPackage.exe" /Action:Publish /sf:DB.dacpac /Profile:publish.xml /TargetConnectionString:$ConnectionString

여기서 $ConnectionString은 Jenkins의 인수입니다. 그러나 여전히 publish.xml의 ConnectionString을 사용합니다.


  • 답변 # 1

    리플렉터 (Microsoft.Data.Tools.Schema.CommandLineTool.ValidationUtil)를 사용하여 소스 코드를 간략히 살펴 보았으며 TargetConnectionString을 명령 줄에서 읽은 후 게시 프로파일의 값을 덮어 씁니다. 값이 변경 될 수 없습니다.

    흥미로운 점은/TargetConnectionString 또는 게시 프로파일 중 하나에서 연결 문자열을 얻은 후/TargetDatabaseName과 같은 개별 속성을 적용하여i think(예상치 않지만 코드에서보기 좋음)이라는 것입니다. )/TargetConnectionString을 전달하는 대신 다음과 같은 개별 구성 요소를 전달합니다.

    /TargetUser,/TargetPassword,/TargetDatabaseName,/TargetServerName 등

    그런 다음 게시 프로필에서 연결 문자열을 무시한다고 생각합니다. 읽기가 어렵 기 때문에 어떻게 진행하는지 알려주세요!

    ed

  • 이전 android - 자바 - 커서 반환 null
  • 다음 angular - 간격마다 Angular2 + http