OVH Cloud OVH Cloud

Transaction

1 réponse
Avatar
Guido
Bonjour,
je suis entrain de d=E9velopper une application, qui pointe=20
sur une base SQl Server. Lors de mes manipulations je g=E8re=20
les transactions, mais voil=E0, j'ai un gros soucis, et je=20
ne veux pas que l'on rit...
je lance une transaction, =E0 l'int=E9rieur de celle-ci j'ai 4=20
traitement d'insertion et de modification de tables=20
diff=E9rentes. Si j'arr=EAte (sous le d=E9boggeur..) le=20
traitement, il m'arr=EAte bien la transaction pour les 3=20
premiers traitement, mais pas le dernier. Effectivement,=20
disant que j'ai une commande, les traitements se r=E9sument=20
=E0 : 1 - Lancement de la commande (modification)
2 - Regroupement des commandes (cr=E9ation d'un=20
regroupement)
3 - cr=E9ation d'une mission rattach=E9e =E0 la commande=20
(cr=E9ation d'une ent=EAte de mission)
4 - cr=E9ation de lignes de cette mission

si j'arr=EAte mon traitement apr=E8s la cr=E9ation d'une ligne,=20
sans arriver =E0 la validation de ma transaction, mes 3=20
premiers traitements sont annul=E9s, mais je me retrouve=20
avec une ligne orpheline.

Donc existe-il une possibilit=E9 pour que la base face=20
d'elle m=EAme un auto-commit sur ma derni=E8re table? Je ne=20
connais pas bien Sql Server, alors la moindre piste=20
m'aiderai.

Merci

1 réponse

Avatar
Fred BROUARD
découper en 2 PS sans transactions dans la PS mère qui apelle ces 2 PS
filles.

A +

Guido a écrit:
Bonjour,
je suis entrain de développer une application, qui pointe
sur une base SQl Server. Lors de mes manipulations je gère
les transactions, mais voilà, j'ai un gros soucis, et je
ne veux pas que l'on rit...
je lance une transaction, à l'intérieur de celle-ci j'ai 4
traitement d'insertion et de modification de tables
différentes. Si j'arrête (sous le déboggeur..) le
traitement, il m'arrête bien la transaction pour les 3
premiers traitement, mais pas le dernier. Effectivement,
disant que j'ai une commande, les traitements se résument
à : 1 - Lancement de la commande (modification)
2 - Regroupement des commandes (création d'un
regroupement)
3 - création d'une mission rattachée à la commande
(création d'une entête de mission)
4 - création de lignes de cette mission

si j'arrête mon traitement après la création d'une ligne,
sans arriver à la validation de ma transaction, mes 3
premiers traitements sont annulés, mais je me retrouve
avec une ligne orpheline.

Donc existe-il une possibilité pour que la base face
d'elle même un auto-commit sur ma dernière table? Je ne
connais pas bien Sql Server, alors la moindre piste
m'aiderai.

Merci



--
Frédéric BROUARD - expert SQL, spécialiste : SQL Server / Delphi / web
Livre SQL - col. Référence : http://sqlpro.developpez.com/bookSQL.html
Le site du SQL, pour débutants et pros : http://sqlpro.developpez.com
****************** mailto: ******************