如何在SSIS包中参数化数据库连接字符串?

时间:2010-03-16 02:30:54

标签: sql-server-2008 ssis

我在Business Intellegience Development Studio中内置了一个SSIS包,它同时指定了源数据库和目标数据库。现在我想使用一些变量来参数化数据库连接并在命令行中运行包。

我尝试用我的变量@ [User :: SourceDb]替换数据库名称和sql server实例。 @ [User :: SourceHost],但无法连接到数据库。

是否可以对数据库进行参数化,并且我的变量用法有什么问题?提前谢谢!

3 个答案:

答案 0 :(得分:6)

有一篇不错的帖子here详细说明了这种做法。

您需要使用ConnectionManager并从配置包中设置它的ConnectionString属性。

ConnectionString属性是完全限定的数据库连接字符串,如

Data Source=localhost;Initial Catalog=SSISConfig;Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;

使用配置包时会有一些烦恼和烦恼,所以你可能不得不摆弄一下。我会更详细,但自从我上次参与SSIS项目以来已经有一年了。

如果您有任何具体问题,请回来评论您的成绩。我会试着改变旧的记忆。

答案 1 :(得分:3)

您需要在连接管理器中定义“表达式”,然后将其替换为服务器/数据库。

您无法在SSIS中直接使用变量

请参阅“Using Variables in Packages"指向使用Property Expressions in Packages

的链接

快速的Bingle之后:http://sqlrs.blogspot.com/2006/03/using-expression-variables-in-ssis.html

答案 2 :(得分:0)

您可以右键单击项目或包中的任何连接,然后选择"参数化"连接,项目或包参数中的所有字段。对于.NET提供程序(SqlClient数据提供程序)类型的OLE DB连接,连接字符串不同,因此请小心。我们设法在Project.params

中有一个集中的连接位置