2010-01-23 5 views
3

Je souhaite exécuter deux transactions simultanément. J'ai donc donné MultipleActiveResultSet = false dans la chaîne de connexion comme spécifié dans un article MSDN. Mais après avoir modifié la chaîne de connexion, je reçois "Machine cible activement refusée". Je travaille avec WCF.Sqlconnection ne prend pas en charge les transactions parallèles

Vous avez des idées?

Merci.

Répondre

4

J'avais l'impression que MARS ne s'applique réellement qu'au cas particulier de l'obtention de plusieurs jeux de résultats en lecture seule sur une seule connexion , mais que les opérations régulières doivent avoir leurs propres connexions.

1

Etes-vous sûr que la "Machine cible activement refusée" est liée à des transactions parallèles?

Cela signifie généralement que la machine n'écoute pas sur le port auquel vous essayez de parler.

+0

Oui. Si je supprime l'entrée MultipleActiveResultSet de la chaîne de connexion, tout fonctionne correctement. – NLV

+0

Pouvez-vous poster la chaîne de connexion (sans mot de passe ofc)? – Andomar

+0

Ok, je sens maintenant que ma question est absurde. Le problème est avec la logique du code. Pardon. – NLV

2

Pouvez-vous expliquer ce que vous essayez de faire s'il vous plaît?

Une transaction est atomique et isolée (si bien par connexion). Vous ne pouvez pas faire 2 transactions simultanées pour une connexion/session: cela n'a aucun sens

+1

Une page MSDN pour SQL Server Compact mentionne "prend en charge les transactions parallèles dans ADO .NET" http://technet.microsoft.com/en-us/library/ms172400(SQL.90).aspx, bien que je ne sache pas quoi cela signifie – Andomar

+0

Merci. Concept étrange. Pas imbriqué cependant. – gbn

0

Je l'ai fait erreur:

SqlConnection Con=new SqlConnection(_myConString); 
SqlTransaction tr=Con.CreateTransaction(); 
tr=Con.CreateTransaction(); 

Ligne 2 et 3 créent des transactions. D'où je recevais l'erreur. J'ai rectifié, et le problème a été résolu. Conclusion: L'appel de CreateTransaction avant l'achèvement de la transaction en cours entraîne l'exception ci-dessus.

Questions connexes