2009-07-15 6 views
1

J'essaie d'obtenir des transactions fonctionnant sous SSIS (SQL Server Integration Services 2005) et Oracle sans succès. J'utilise Oracle 10g.Oracle Transaction sous MS SSIS

J'ai créé un conteneur de séquence, initialise sa transaction TransactionOption à "Obligatoire" et y place une tâche DataFlow avec TransactionOption = "Supported".

Le serveur exécutant SSIS a le service MSDTC en cours d'exécution.

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

Lorsque vous essayez de l'exécuter, je reçois 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. 

Toute aide? Merci

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

+0

ressemble à moi comme cela devrait mieux convenir à serverfault. – lexu

+0

non, c'est lié à la programmation –

+0

Je vous suggère d'éviter les transactions SSIS. Cela m'a empêché d'utiliser des connexions de travail. Utilisez les transactions SQL dans SSIS à la place. – Steam

Répondre

1

Apparemment, il peut s'agir d'un problème avec les autorisations MSDTC this MS blog peut aider à le déboguer. Aussi, je suppose que les autorisations sur le serveur Oracle sont définies correctement voir this MS kb article pour obtenir de l'aide avec cela.

+0

Je vous suggère d'éviter les transactions SSIS. Cela m'a empêché d'utiliser des connexions de travail. Utilisez les transactions SQL dans SSIS à la place. – Steam

Questions connexes