我正在使用
var app = new Application();
var pkg = app.LoadFromSqlServer(ConfigurationManager.AppSettings["SSISPackagePath"],
ConfigurationManager.AppSettings["SqlHost"],
ConfigurationManager.AppSettings["SqlUser"],
ConfigurationManager.AppSettings["SqlPass"], null);
从sql server加载SSIS包以在应用程序中使用。
使用DTS命令,它需要一个带密码的/DECRYPT
选项来解密存储在包中的敏感信息。
没有密码我收到以下错误消息:
ADO NET Destination无法获取连接 {DB515DE9-B006-4BFC-AC53-ABED0B77183C}。连接可能已经 损坏。
组件“ADO NET Destination”(841)验证失败并返回 错误代码0xC0208452。
如何使用C#将解密密码传递给包,以便它可以无误地执行?
答案 0 :(得分:1)
您是否尝试过Application.PackagePassword
setter属性?
链接到文档:http://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.application.packagepassword.aspx
在这个SO问题中也提到了这种方法:How can I execute a package with a package password in SSIS through code?
NB根据该链接,您必须在加载包之前在应用程序上指定密码。