C# 使用带有加密连接字符串的Application.LoadFromSqlServer()加载SSIS包

C# 使用带有加密连接字符串的Application.LoadFromSqlServer()加载SSIS包,c#,.net,sql-server,ssis,dts,C#,.net,Sql Server,Ssis,Dts,我正在使用 var app = new Application(); var pkg = app.LoadFromSqlServer(ConfigurationManager.AppSettings["SSISPackagePath"], ConfigurationManager.AppSettings["SqlHost"], ConfigurationManager.

我正在使用

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目标无法获取连接 {DB515DE9-B006-4BFC-AC53-ABED0B77183C}。连接可能已断开 腐败

组件“ADO NET Destination”(841)验证失败并返回 错误代码0xC0208452


如何使用C#将解密密码传递给包,使其可以无误执行?

您是否尝试了
应用程序。PackagePassword
setter属性? 链接到文档:

这个问题中也提到了这种方法:

NB根据该链接,在加载包之前,您必须在应用程序上指定密码。

您是否确保SSIS包等基本安全内容对该用户具有权限,以及SSIS包访问的数据库也可由用户访问等。@AzharKhorasany是,我经历了所有这些只是为了达到需要解密密码的程度。我的印象是,当您保存到SQL Server时,您不需要加密(或者服务器为您进行加密)。您可以验证您用于保存此包的保护级别吗?我将在周一上午对此进行调查。谢谢你,我没有看到那个房子。@John Boker:没问题,让我知道它对你有用与否。我现在进行了编辑,以强调何时需要设置此属性。