【问题标题】:DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER errorDTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER 错误
【发布时间】:2012-05-08 05:45:54
【问题描述】:

我的包由动态数据库连接组成。当我运行我的包时,它会抛出类似 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER 的错误。对连接管理器“conn”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。

我尝试在包级别将延迟验证属性设置为 true。

我尝试将包保护级别属性更改为 EncryptSensitiveWithpassword。仍然面临同样的错误。

能够手动运行包。

如何摆脱它。

【问题讨论】:

  • 能够解决我的问题,我删除了旧的连接管理器并创建了新的。并映射了新的。这解决了我的问题
  • 您应该发布您的评论作为答案然后接受它,以便其他人在遇到类似问题时可以找到解决方案。

标签: ssis


【解决方案1】:

这可以通过两种方式解决

首先,我将包级别的延迟验证属性从 false 更改为 True

将 ProtectionLevel 更改为 EncryptSensitiveWithUserKey

其次,删除旧的连接管理器并创建一个新的。

大多数时候第一种方法可以解决问题。

【讨论】:

  • 你认为为什么会这样?
【解决方案2】:

将包转换为包部署模型 请为连接字符串创建一个包配置文件。在此处保存密码。 将包部署到单独的环境时,将包与配置文件一起复制。确保本地和新环境中的路径相同。 这解决了我的问题

【讨论】:

    【解决方案3】:

    这个错误不断出现,因为我忘记了我的连接字符串是使用变量和表达式动态创建的(见图)。一旦我在那里编辑了连接字符串,这个错误就消失了。

    【讨论】:

      【解决方案4】:

      我在 dts(配置文件)中添加了端口号和数据库名称,并将提供程序添加为 SQLNCLI11,并在 dtsx 文件(SSIS 包)中添加了端口号和 IP 地址,它对我有用。

      【讨论】:

        【解决方案5】:

        在我的例子中,我忘记为执行包的用户分配/授予对包中使用的数据库执行操作所需的权限。

        【讨论】:

          猜你喜欢
          • 2020-03-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-11-08
          • 1970-01-01
          • 1970-01-01
          • 2018-01-17
          相关资源
          最近更新 更多