이 스크립트는 많은 SSDT 정의에 포함되어 있으며 WIX SQL 확장으로 실행할 수 없으므로 SQLCMD를 사용하여 SQL 스크립트 (SSDT)를 설치하려고합니다. 내 SQL 스크립트 파일을 바이너리로 만들려고합니다. (대상 컴퓨터에 남아 있기를 원하지 않습니다.)WiX에서 SQLCMD를 사용하여 이진 SQL 파일 실행
바이너리 스크립트 (-i)를 사용하려면 SQLCMD 명령을 어떻게 설정합니까?
p.s.
내가이 블로그 시도 : http://neilsleightholm.blogspot.co.il/2008/08/executing-sqlcmd-from-wix.html##을하지만,이 코드는 바이너리 SQL 파일과 SCLCMD 명령 사이의 링크를 표시하지 않습니다. 누군가 나를 올바른 코드로 도울 수 있습니까?
MSI (들) (4C :
이
<Binary Id="CreateSchema.sql" SourceFile="..\SQL\CreateSchema.sql" />
<CustomAction Id="sqlcmd.cmd"
Property="sqlcmd"
Value=""sqlcmd.exe" -S [DATABASE_SERVER]
-i "[#CreateSchema.sql]" -v var=SYSTEM_USER -o [INSTALLDIR]installSql.log" />
<CustomAction Id="sqlcmd"
BinaryKey="WixCA"
DllEntry="CAQuietExec"
Return="check"
Execute="deferred"
Impersonate="yes" />
<InstallExecuteSequence>
<Custom Action="sqlcmd.cmd" After="InstallFiles">NOT Installed</Custom>
<Custom Action="sqlcmd" After="sqlcmd.cmd">NOT Installed</Custom>
</InstallExecuteSequence>
로그 파일이 -i 매개 변수는 모든 파일 이름 값을 가지고 있지 않은 것으로 나타났다 나를 위해 작동하지 않았다 내가 사용되는 코드이며, : 실행중인 작업 : CustomActionSchedule (Action = sqlcmd, ActionType = 1025, Source = BinaryData, 대상 = CAQuietExec, CustomActionData = "sqlcmd.exe"-S (local) -i ": 09 : 58 : 15 : " -v var = SYSTEM_USER -o C : \ installSql.log
파일을 찾을 수 없음을 나타내면 CreateSchema.sql 파일과 연결된 파일 ID가 실제로 올바른지 확인하십시오. – Ritmo2k
예, 동일한 id이며, 이진 테이블 (orca.exe로 열림)에서 ID와 이진 파일을 모두 확인했습니다. – HA21
당신은 SQL 파일이 주위에 붙어 있기를 원하지 않는다고 말하면, 그렇지 않습니다. 너는 결석 한 구성 요소에서 제외 시켰어? [Formatted] (https://msdn.microsoft.com/library/aa368609.aspx)를 살펴보면 내가 생각할 수있는 유일한 것입니다. – Ritmo2k