J'ai reçu l'erreur suivante lorsque j'ai essayé d'exécuter une application C# WinForms sur une machine Windows Server 2003 Standard Edition SP1 qui se connectait à un serveur SQL 2000, en convertissant les données dans l'application WinForms et insérer le converti dans une application SQL Server 2005. Je me connecte à chaque base de données en utilisant SSPI.HRESULT: 0x8004D00E en utilisant TransactionScope - C#
Le code a été contenu dans un bloc TransactionScope:
System.TimeSpan TransactionTimeOut = new TimeSpan(0, 40, 0);
using(TransactionScope Scope = new TransactionScope(TransactionScopeOption.RequiresNew, TransactionTimeOut))
{
try
{
//meat of transaction...
}
catch(Exception ex)
{
throw ex;
}
Scope.Complete();
}
Messages d'erreur:
Exception: La transaction a déjà été implicitement ou explicitement commis ou avortés.
Exception interne: La transaction a déjà été implicitement ou explicitement validée ou annulée (Exception de HRESULT : 0x8004d00e)
Tout savoir ce qui pourrait être la cause de ce problème?
Sur quelle ligne soulève-l'exception? Et, pourquoi attrapez-vous l'exception à l'intérieur en utilisant le bloc? – shahkalpesh
Je cours l'application sur un serveur distant, donc je ne peux pas capturer le numéro de ligne. Je mets le bloc try/catch dans l'instruction using car c'est le seul endroit où j'établis une connexion et traite les données. –