我有一个使用导入和导出向导创建的SSIS文件。使用该向导似乎将连接字符串硬编码到SSIS文件中;我想要做的是将连接字符串传递到文件中,以便我可以配置目标数据库。任何人都知道如何做到这一点?如何将连接字符串传递给SSIS文件?
编辑更多信息:从技术上讲,我有17个SSIS包,我使用dtexec从PowerShell脚本执行。我希望PowerShell脚本/ dtexec能够将连接字符串传递到每个SSIS包中。我使用SQL Server导入/导出向导创建了这些包。
我有一个使用导入和导出向导创建的SSIS文件。使用该向导似乎将连接字符串硬编码到SSIS文件中;我想要做的是将连接字符串传递到文件中,以便我可以配置目标数据库。任何人都知道如何做到这一点?如何将连接字符串传递给SSIS文件?
编辑更多信息:从技术上讲,我有17个SSIS包,我使用dtexec从PowerShell脚本执行。我希望PowerShell脚本/ dtexec能够将连接字符串传递到每个SSIS包中。我使用SQL Server导入/导出向导创建了这些包。
假设软件包位于C:\ ssis中,您的连接管理器名为MyConnectionManager,它将覆盖该值并将其指向localhost。
dtexec /file C:\ssis\pkg1.dtsx /conn "MyConnectionManager";"\"Data Source=localhost\TestSQL2008R2;Initial Catalog=ConnDB;Integrated Security=SSPI;\""
该示例提供了一种最佳的简单解决方案来促进跨环境的SSIS。请参阅Rafael Salas的以下博客了解更多选项。 Understanding Integration Services Package Configurations
您还可以使用dtexecui的图形外壳来配置软件包的参数。该用户界面有一个“命令行”选项卡,您可以在其中找到所有参数,转换为命令字符串,您可以将其用作控制台dtexec的参数。 你可以在这里得到一步一步的例子http://sqlstudies.com/2013/07/31/using-dtexecui-to-generate-a-dtexec-command-line-statement-the-easy-way/
再次谢谢您:) – alexkhomenko
欢迎您:-) – kleopatra
你的答案让我走上正确的道路,尽管我的解决方案最终需要看起来像这样:dtexec /文件C:\ ssis \ pkg1.dtsx/conn“MyConnectionManager ; Data Source = localhost \ TestSQL2008R2; Initial Catalog = ConnDB; Integrated Security = SSPI;“ – SuperNES