2010-11-17 27 views
1

Je tente d'exécuter une requête sur un serveur lié (SQL Server 2008 lié à Sybase) et de le sélectionner dans une table temporaire. Fonctionne parfaitement dans une fenêtre de requête dans SQL Management Studio, mais quand je le fais par le code (C#), l'erreur échoue "L'opération n'a pas pu être effectuée car le fournisseur OLE DB" ASEOLEDB "pour le serveur lié" MYLINKEDSERVER "n'a pas pu commencer une transaction distribuée Je ne suis pas en utilisant une transaction dans le code avec mon DbConnectionErreur de transaction distribuée uniquement via le code

cette requête ressemble à ceci:...

SELECT * 
INTO #temptable 
FROM OPENQUERY([MYLINKEDSERVER], 'SELECT * from table') 
+0

MSDTC est-il configuré ame pour toutes les machines impliquées dans la transaction distribuée? Les [autorisations] (http://blogs.msdn.com/b/distributedservices/archive/2009/03/13/troubleshooting-msdtc-permission-issues-when-a-distributed-transaction-starts.aspx) sont-elles correctes? ? – Oded

Répondre

1

a trouvé la question, il a été le résultat de la mise en commun de connexion Il semble que les connexions. ont été réutilisés, ce qui a fait penser au système qu'une transaction distribuée était en cours