4

我在用着

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# 将解密密码传递给包,以便它可以正确执行?

4

1 回答 1

1

您是否尝试过Application.PackagePasswordsetter 属性?文档链接:http ://technet.microsoft.com/en-us/library/microsoft.sqlserver.dts.runtime.application.packagepassword.aspx

这个SO问题中也提到了这种方法:如何通过代码在SSIS中执行带有包密码的包?
注意,根据该链接,您必须在加载包之前在应用程序上指定密码。

于 2013-04-27T08:57:57.090 回答