使用Microsoft.SqlServer.Management.IntegrationServices设置连接字符串

时间:2013-11-25 17:29:57

标签: ssis connection-string

我使用Microsoft.SqlServer.Management.IntegrationServices命名空间以编程方式运行我的SSIS 2012包。一切似乎都很好但我需要在运行时动态设置我的连接字符串。我知道有很简单的方法可以使用Microsoft.SqlServer.Dts.Runtime执行此操作,因为Connections类上有Microsoft.SqlServer.Dts.Runtime.Package属性。 Microsoft.SqlServer.Management.IntegrationServices似乎没有类似的等价物。

似乎使用参数集合,下面的代码似乎可以解决这个问题:

project.Parameters["CM<myconnectionmanagername>.UserName"].Set(ParameterInfo.ParameterValueType.Literal, "user");              
project.Parameters["CM.<myconnectionmanagername>.Password"].Set(ParameterInfo.ParameterValueType.Literal, "password");
project.Parameters["CM<myconnectionmanagername>.ConnectionString"].Set(ParameterInfo.ParameterValueType.Literal, <your-full-connection-string-here>);   

project.Alter();

此解决方案的问题是需要设置所有3个参数才能使连接字符串起作用。这个问题的一个明显问题是它迫使我解析连接字符串以使“user”和“password”成为连接字符串。对于可重用的系统,其中存在许多可能的连接字符串格式,解析代码可能变得丑陋。是否有更好/更简单的方法(使用SSIS中的MOM动态设置连接字符串)?

0 个答案:

没有答案