1 votes

Transaction Oracle sous MS SSIS

J'essaie de faire fonctionner des transactions sous SSIS (SQL Server Integration Services 2005) et Oracle, sans succès. J'utilise Oracle 10g.

J'ai créé un conteneur de séquence, j'ai défini son option de transaction sur "Required" et j'ai placé à l'intérieur une tâche DataFlow avec l'option de transaction "Supported".

Le service MSDTC est exécuté sur le serveur qui exécute SSIS.

La tâche DataFlow a, comme source, une connexion OLEDB SQL Server et comme cible une connexion OLEDB Oracle.

Lorsque j'essaie de l'exécuter, j'obtiens les erreurs suivantes :

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.

Vous pouvez nous aider ? Merci

EDIT : Je viens de découvrir que le serveur qui exécute Oracle n'est pas, comme je le pensais, basé sur Windows mais sur IBM ICS. Je ne sais pas si cela est pertinent.

1voto

Frozenskys Points 2203

Il semble que ce soit un problème avec les autorisations de MSDTC ce L'article du blog de MS pourrait vous aider à le déboguer. Je suppose également que les permissions sur le serveur Oracle sont correctement définies. ce Article de MS kb pour obtenir de l'aide à ce sujet.

1voto

onupdatecascade Points 2049

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X