Jam*_*mes 5 sql ssis sql-server-2012
我有一个SSIS包在SQL2008R2上正常运行,使用环境变量指向连接字符串的配置文件.使用VS2010 Shell,我升级了SQL Server 2012数据库的包.该软件包仍处于软件包部署模型中.包的ProtectionLevel设置为DontSaveSensitive.Run64BitRuntime = False.当我尝试在VS中执行包时,我收到以下错误:
[OLE DB Destination [2]]错误:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.对连接管理器"DB_Connection"的AcquireConnection方法调用失败,错误代码为0xC0202009.在此之前可能会发布错误消息,其中包含有关AcquireConnection方法调用失败原因的更多信息.**
[SSIS.Pipeline]错误:OLE DB目标未通过预执行阶段并返回错误代码0xC020801C.**
完全登录后,我看到第一次失败:
Diagnostic,[ComputerName],OFFICE\username,DB_Connection,{5AD75239-D546-4AAF-963E-E195FC2F0C1E},{9EC48106-DDBD-40E9-8FBB-942BCF025EEE},3/26/2013 10:35:21 AM,3/26/2013 10:35:21 AM,0,(null),ExternalRequest_post:'ITransactionJoin :: JoinTransaction failed'.外部请求已完成.**
真正抛弃我的部分是在包的早期,同一个"DB_Connection"管理器在许多执行SQL任务中成功使用.因此,似乎正确地从配置中读取连接字符串.
我试过删除\重新创建连接管理器.我已经验证在我的本地和服务器上都正确配置了DTC.我有其他软件包使用相同的配置方法连接到相同的SQL2012数据库使用数据流任务没有问题.
任何人都可以给予指点正确方向的任何帮助将非常感激.如果我不需要,我宁愿不必在此时转移到项目部署模型.
我能够让我的包在本地运行.虽然我在我的任务上检查了TransactionOption以确保它们被设置为Supported,但事实证明我的一个序列容器被设置为Required.不知道为什么这在SQL2008R2中有效,但在SQL2012中没有.我将容器更改为Supported,包现在运行.