SSIS包中事务使用出错

0
从SQLServer向Oracle传数据的时候使用了事务,结果报错。错误如下:
错误: SSIS 运行时无法在分布式事务中登记 OLE DB 连接,错误为 0x8004D01B“事务管理器不可用。”。
前提:两边服务器的MSDTS服务都已经开启。
已邀请:
1

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-08 回答

你的 Oracle 和 SQL Server 应该不在同一台服务器上,所以先确保两台服务器版本都支持这种分布式服务。然后排查一下,单独看看是从 SQL Server 这端的分布式服务有问题,还是 Oracle 的,也就是说不把 SQL Server , Oracle 放在一个事务中,先单独分别测试,然后看看是连那端的事务出了问题。你也试试,如果已经解决了的话,也在这个帖子了更新一下实际的解决方法。因为这种事务的是很容易出现问题,有环境的问题,有时也跟我们自己的配置相关。
0

BIWORK - 热衷于微软BI技术,技术架构和解决方案! 2013-12-06 回答

如果是 0x8004D01B 错误的话,说明你的分布式服务还是没有开启成功。

你最好还是先排查一下两端的分布式服务是否完全开启, Windows 环境下。
1.PNG


还有一个如果在 SSIS 中,事务中的逻辑最好放在一个 Sequence Container 里面,并且将 TransactionOption 设置为 Required.
2.png


如果还是不行的话,把报错的信息和截图都弄上来看看。
0

郑亚军123 - 吃苦耐劳受累的IT男 2013-12-06 回答

截图中是我的设置,感觉应该可以了。结果还是出错了。。
0

郑亚军123 - 吃苦耐劳受累的IT男 2013-12-09 回答

你好,Oracle和SQLserver两个数据库的确位于两个不同的服务器上。我刚测试了,SQLserver那边的事务是可用的,Oracle不可以。可是Oracle那边MSDTC服务也开启了,软件硬件和SQLserver这边配置也差不多为啥那边就不行呢?

要回复问题请先登录注册