MS SSIS下的Oracle Transaction

时间:2009-07-15 10:47:19

标签: sql-server oracle ssis transactions

我正在努力让事务在SSIS(SQL Server Integration Services 2005)和Oracle下工作,但没有运气。我正在使用Oracle 10g。

我创建了一个Sequence Container,将其TransactionOption设置为“Required”,并在其中放入一个DataFlow任务,其中TransactionOption =“Supported”。

运行SSIS的服务器正在运行MSDTC服务。

DataFlow Task作为源,具有SQL Server OLEDB连接和目标Oracle OLEDB连接。

尝试执行时,我收到以下错误:

Error: 0xC001402C at MediaMarketAnnullamento, Connection manager "ITMASORASVIL:1521/SVILUPPO.EDP": The SSIS Runtime has failed to enlist the OLE DB connection in a distributed transaction with error 0x8004D01B "The Transaction Manager is not available.".

Error: 0xC0202009 at MediaMarketAnnullamento, Connection manager "ITMASORASVIL:1521/SVILUPPO.EDP": SSIS Error Code DTS_E_OLEDBERROR.  An OLE DB error has occurred. Error code: 0x8004D01B.

Error: 0xC020801C at 9999 - Insert_MAGAZZZINO_MM_SHOW, MAGAZZINO_MM_SHOW_SSIS [2187]: SSIS Error Code DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER.  The AcquireConnection method call to the connection manager "ITMASORASVIL:1521/SVILUPPO.EDP" failed with error code 0xC0202009.  There may be error messages posted before this with more information on why the AcquireConnection method call failed.

Error: 0xC004701A at 9999 - Insert_MAGAZZZINO_MM_SHOW, DTS.Pipeline: component "MAGAZZINO_MM_SHOW_SSIS" (2187) failed the pre-execute phase and returned error code 0xC020801C.

Information: 0x40043009 at 9999 - Insert_MAGAZZZINO_MM_SHOW, DTS.Pipeline: Cleanup phase is beginning.

Information: 0x4004300B at 9999 - Insert_MAGAZZZINO_MM_SHOW, DTS.Pipeline: "component "MAGAZZINO_MM_SHOW_SSIS" (2187)" wrote 0 rows.

Task failed: 9999 - Insert_MAGAZZZINO_MM_SHOW

Information: 0x4001100C at 9999 - Insert_MAGAZZZINO_MM_SHOW: Aborting the current distributed transaction.

Information: 0x4001100C at Insert su Oracle: Aborting the current distributed transaction.

SSIS package "MediaMarketAnnullamento.dtsx" finished: Failure.

有任何帮助吗? 感谢

编辑: 我刚刚发现运行Oracle的服务器不像我想的那样基于Windows而是IBM ICS。我不知道这是否相关。

2 个答案:

答案 0 :(得分:1)

看起来MSDTC权限可能有问题this MS博文可能有助于调试它。此外,我假设正确设置了Oracle服务器上的权限,请参阅this MS kb文章以获取相关帮助。

答案 1 :(得分:1)