PowerShell DTexec / ISServer将connectionstring作为包变量传递

时间:2017-04-14 12:58:46

标签: sql-server powershell ssis dtexec

我想通过PowerShell在ISServer上执行SSIS包。 我使用了在microsoft页面上找到的脚本。这不适合我。 我想传递一个连接字符串,但不是要分配给连接管理器,而只是作为变量字符串。在连接字符串中有\和; present和powershell将此视为一种新选择。我只是希望它被视为一个完整的字符串。

我已尝试过所有内容,添加了"\"\"",就像建议的某些网站一样,使用了instead of \, put double quotes, put ' quotes, nothing works. Always getting the error option MyServer \ MyServer ;Initial is not valid. I can't remove MyServer \ MyServer`,因为连接是那个例子。

Connectionstring通过更改变量分配。所以变量包含Data Source=MyServer\Myserver;Initial Catalog=SQL_MyArchive;Provider=SQLNCLI11;Integrated Security=SSPI;

dtexec /ISSERVER  "\SSISDB\Test\Test.dtsx" /SERVER "MYServer" /ENVREFERENCE 8 /Par "$Package::ConnectionSource";`""Data Source=MyServer\Myserver;Initial Catalog=SQL_MyArchive;Provider=SQLNCLI11;Integrated Security=SSPI;"`"

如何让系统将整个连接字符串视为字符串? "" and ""不起作用。

1 个答案:

答案 0 :(得分:0)

使用以下语法将连接字符串传递给变量(您错过了\"

/Par "$Package::ConnectionSource";\""Data Source=MyServer\Myserver;Initial Catalog=SQL_MyArchive;Provider=SQLNCLI11.1;Integrated Security=SSPI;"\"