Problème de transaction SQL Server 2000

Le
Eric
Bonjour,

Quelqu'un saurait-il ce qui cloche dans le code suivant, pourtant
simple ?

sReq = "BEGIN TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")

bOKúux

SI bOK ALORS
sReq = "COMMIT TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")
SINON
sReq = "ROLLBACK TRANSACTION TARIFS"
SI PAS HExécuteRequêteSQL("REQ1",MaConnexionSQL,hRequêteSansCorrection,sReq) ALORS
VersPressePapier(HErreurInfo())
Erreur(HErreurInfo())
FIN
HAnnuleDéclaration("REQ1")
FIN

A l'exécution, j'obtiens ce message :

Erreur de l'accès OLE DB.
Numéro d'erreur = 170129

Echec de l'ouverture du fichier.

Détail de l'erreur système :
Description = La requête ROLLBACK TRANSACTION n'a pas de BEGIN
TRANSACTION correspondante.
Source = Microsoft OLE DB Provider for SQL Server
SQL State = 25000
Error Number = -2147467259
Native Error Number = 3903

Encore plus bizarre, si je mets bOK à Vrai, le COMMIT TRANSACTION passe
comme une lettre à la Poste !

MaConnexionSQL est une connexion OLEDB.

Merci d'avance.

--
Eric
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Eric
Le #18473851
Pour ceux que ça pourrait intéresser, il faut utiliser la fonction
SQLTransaction de Windev.

--
Eric
Publicité
Poster une réponse
Anonyme