Bonjour à tous,
J'ai un petit souci avec les transactions. Voici le problème:
VGP_Res est un booléen
ReqTrans est une Source de Données
reqAjout est une Source de Données
reqIdent est une Source de Données
// la fonction me retourne vrai
VGP_Res = HExécuteRequêteSQL(ReqTrans,maConnexion,hRequêteSansCorrection,"BEGIN TRAN T1")
// Je fais deux INSERT qui me retournent vrai
VGP_Res = HExécuteRequêteSQL(reqAjout,maConnexion,hRequêteSansCorrection,"INSERT ....")
VGP_Res = HExécuteRequêteSQL(reqAjout,maConnexion,hRequêteSansCorrection,"INSERT ....")
// je fais un select @@IDENTITY
VGP_Res = HExécuteRequêteSQL(reqIdent,maConnexion,hRequêteSansCorrection,"SELECT @@IDENTITY AS LASTID")
// je fini ma transaction => ERREUR !!
VGP_Res = HExécuteRequêteSQL(ReqTrans,maConnexion,hRequêteSansCorrection,"COMMIT TRAN T1")
la fermeture de ma transaction me renvoie faux et SQL Server me retourne:
Citation :
Erreur de l'accès natif SQLSERVER.
Numéro d'erreur = 100
Message SQL Server 3902, état 1, sévérité 16 :
La requête COMMIT TRANSACTION n'a pas de BEGIN TRANSACTION correspondante.
SQLServer a renvoyé l'erreur suivante :
Erreur générale sur SQL Server : Consultez les messages SQL Server., n° : 10007, sévérité : 5
SQLServer a renvoyé une erreur lors de l'exécution de la requête suivante :
COMMIT TRAN T1
Avez vous deja eu ce genre de problème ?
PS: Je précise que je connais la commande SQLTransaction, mais je ne veux pas m'en servir pour l'instant.
Merci d'avance pour vos réponses.
Bonne journée