Ich versuche, Transaktionen unter SSIS (SQL Server Integration Services 2005) und Oracle ohne Glück zu bekommen. Ich benutze Oracle 10g.Oracle-Transaktion unter MS SSIS
Ich habe einen Sequenzcontainer erstellt, seine TransactionOption auf "Required" gesetzt und darin eine DataFlow-Task mit TransactionOption = "Supported" eingefügt.
Auf dem Server, auf dem SSIS ausgeführt wird, wird der MSDTC-Dienst ausgeführt.
Der DataFlow-Task hat als Quelle eine SQL Server OLEDB-Verbindung und als Ziel eine Oracle OLEDB-Verbindung.
Beim Versuch, ihn auszuführen, erhalte ich folgende Fehler:
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.
Jede Hilfe? Danke
EDIT: Ich habe gerade festgestellt, dass der Server mit Oracle ist nicht, wie ich dachte, Windows-basierte aber IBM ICS. Ich weiß nicht, ob das relevant ist.
klingt für mich wie dies sollte besser in serverfault passen. – lexu
nein, das ist Programmierung bezogen –
Ich schlage vor, dass Sie SSIS-Transaktionen vermeiden. Es hat mich daran gehindert, funktionierende Verbindungen zu benutzen. Verwenden Sie stattdessen SQL-Transaktionen in SSIS. – Steam