【发布时间】:2013-03-16 20:03:25
【问题描述】:
我有一个在 SQL2008R2 上运行良好的 SSIS 包,它使用指向连接字符串配置文件的环境变量。使用 VS2010 Shell,我升级了 SQL Server 2012 数据库的软件包。该包仍处于包部署模型中。包的 ProtectionLevel 设置为DontSaveSensitive。 Run64BitRuntime = False。当我尝试在 VS 中执行包时,出现以下错误:
[OLE DB 目标 [2]] 错误:SSIS 错误代码 DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。对连接管理器“DB_Connection”的 AcquireConnection 方法调用失败,错误代码为 0xC0202009。在此之前可能会发布错误消息,其中包含有关 AcquireConnection 方法调用失败原因的更多信息。**
[SSIS.Pipeline] 错误:OLE DB 目标未通过预执行阶段并返回错误代码 0xC020801C。**
完全登录后,我在这里看到了第一个失败:
诊断,[计算机名],办公室\用户名,DB_Connection,{5AD75239-D546-4AAF-963E-E195FC2F0C1E},{9EC48106-DDBD-40E9-8FBB-942BCF025EEE},2013 年 3 月 26 日上午 10:35:21 2013 年 3 月 26 日上午 10:35:21,0,(空),ExternalRequest_post:'ITransactionJoin::JoinTransaction 失败'。外部请求已完成。**
真正让我震惊的部分是,在包的早期,相同的“DB_Connection”管理器成功地用于许多执行 SQL 任务。因此,似乎从配置中正确读取了连接字符串。
我已尝试删除\重新创建连接管理器。我已验证 DTC 在我的本地和服务器上均已正确配置。我有其他包使用相同的配置方法使用数据流任务连接到同一个 SQL2012 数据库,没有问题。
任何人都可以为我指明正确的方向提供任何帮助,我们将不胜感激。如果没有必要,我宁愿此时不必迁移到项目部署模型。
【问题讨论】:
标签: sql ssis sql-server-2012