从服务器运行.dtsx时的CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER

时间:2018-08-01 12:14:02

标签: sql-server ssis ssis-2012

我有一个SSIS项目,当从本地计算机上运行时它似乎可以正常工作,但是当我将其部署到服务器并运行它时,出现以下错误:

Package:Error: 
SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x80040E21."   
"Data Flow Task:Error: 
SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager 
""RussiaServer"" failed with error code 0xC0202009.  
There may be error messages posted before this with more information on why the AcquireConnection method call failed.

消息源名称是“数据流任务和数据包”。数据流任务内部有一个SQL命令,该命令根据参数选择行(在其他线程之一中建议有人,这可能是由于date数据类型造成的,但我的数据类型与答案相同)。

也-此程序包在以前的服务器(MS 2012)上正常工作。

我尝试过的事情:

  • 在连接管理器和数据流任务上将delayvalidation设置为true(我在其他任何子对象上都看不到)
  • 将tun64bitRuntime设置为false 更改部署服务器版本(2010和2016)
  • 尝试验证软件包,而不在Managment studio中运行-是否成功验证?即使它在正常运行时无法通过验证

我无法尝试的事情:

  • 为x86安装Access数据库引擎-有人建议这样做,但不幸的是,当使用必须保持安装状态的64位Office时,无法安装它。

2 个答案:

答案 0 :(得分:0)

您必须在包属性中将保护级别更改为EncryptSensitiveWithUserKey。它在本地工作。但是,当您尝试将其部署到服务器时,密码不会保存并且无法连接。

详细了解此Securing SSIS Package

答案 1 :(得分:0)

请为连接字符串使用变量。并在部署它时使用此变量。

谢谢 萨西