MS SSIS 下的 Oracle 事务
Posted
技术标签:
【中文标题】MS SSIS 下的 Oracle 事务【英文标题】:Oracle Transaction under MS SSIS 【发布时间】:2009-07-15 10:47:19 【问题描述】:我试图让事务在 SSIS (SQL Server Integration Services 2005) 和 Oracle 下运行,但没有成功。我正在使用 Oracle 10g。
我创建了一个序列容器,将其 TransactionOption 设置为“Required”,并在其中放入一个 TransactionOption = “Supported”的 DataFlow 任务。
运行 SSIS 的服务器正在运行 MSDTC 服务。
DataFlow 任务具有作为源的 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。我不知道这是否相关。
【问题讨论】:
对我来说听起来应该更适合服务器故障。 不,这是编程相关的 我建议您避免使用 SSIS 事务。它阻止我使用工作连接。改为在 SSIS 中使用 SQL 事务。 【参考方案1】:看起来这可能是 MSDTC 权限的问题this MS 博客文章可能有助于调试它。此外,我假设 Oracle 服务器上的权限设置正确,请参阅this MS kb 文章以获得帮助。
【讨论】:
我建议您避免使用 SSIS 事务。它阻止我使用工作连接。改为在 SSIS 中使用 SQL 事务。【参考方案2】:这个文档有用吗?
http://msdn.microsoft.com/en-us/library/aa344212.aspx
【讨论】:
以上是关于MS SSIS 下的 Oracle 事务的主要内容,如果未能解决你的问题,请参考以下文章