OVH Cloud OVH Cloud

Commit

7 réponses
Avatar
Franck Fouache
salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de Microsoft
... sans succès pour le moment ...
a+

7 réponses

Avatar
Fred BROUARD
Quelle est l'erreur ?

A +

Franck Fouache a écrit:
salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de Microsoft
... sans succès pour le moment ...
a+





--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
Franck Fouache
justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit
begin transation
traitement
commit
commit

tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me dit
que le dernier commit n'est pas fait, sans aucune autre erreur ailleurs ...
je chercher pour affiner, donner plus d'infos et éventuellement si je trouve
entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes de
commit et quelle en était la nature pour me donner une piste de recherche
...

a+




"Fred BROUARD" a écrit dans le message de news:

Quelle est l'erreur ?

A +

Franck Fouache a écrit:
salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de
Microsoft ... sans succès pour le moment ...
a+



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************



Avatar
Fred BROUARD
Vous faîtes des transactions imbriquées qui de plus est anonyme !

Seule la première transaction compte le reste est ignoré.

Franck Fouache a écrit:
justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit



=> ne fait rien, sauf dépiler le compte de transaction

begin transation
traitement
commit



=> ne fait rien, sauf dépiler le compte de transaction

commit



=> valide la seule transaction réellement existante, donc l'ensemble des
traitement depuis le premier BEGIN TRANSACTION

Donc quelque part un traitement part en erreur, mais ou ? Impossible de le
savoir vu la manière inoportune dont est géré le code. Effectivement l'erreur
est sans aucun doute perdu.

Pour comprendre comment jouer avec les transactions et gérer les erreurs, lisez
l'article que j'ai écrit :
http://sqlpro.developpez.com/cours/sqlserver/transactsql/#L4.6

A +


tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me dit
que le dernier commit n'est pas fait, sans aucune autre erreur ailleurs ...
je chercher pour affiner, donner plus d'infos et éventuellement si je trouve
entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes de
commit et quelle en était la nature pour me donner une piste de recherche
...

a+




"Fred BROUARD" a écrit dans le message de news:


Quelle est l'erreur ?

A +

Franck Fouache a écrit:

salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de
Microsoft ... sans succès pour le moment ...
a+



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************









--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************
Avatar
bruno reiter [MVP]
essaye de récupérer la valeur de @@trancount à la sortie, s'il n'est pas à
zéro, la transaction de premier niveau, la seule "vraie transaction" est
ouverte et le fait de fermer la session avec une transaction ouverte fait un
rollback

br

"Franck Fouache" wrote in message
news:

justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit
begin transation
traitement
commit
commit

tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me


dit
que le dernier commit n'est pas fait, sans aucune autre erreur ailleurs


...
je chercher pour affiner, donner plus d'infos et éventuellement si je


trouve
entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes de
commit et quelle en était la nature pour me donner une piste de recherche
...

a+




"Fred BROUARD" a écrit dans le message de


news:

> Quelle est l'erreur ?
>
> A +
>
> Franck Fouache a écrit:
>> salut tout le Monde,
>> quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
>> renvoie une erreur ...
>> de mon côté je fouille les fichiers d'aide et la Knowledge Base de
>> Microsoft ... sans succès pour le moment ...
>> a+
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
>




Avatar
Dominique Peralta
Sous FoxPro, c'est très simple de savoir ce qu'il se passe. Tu démarres une
trace ODBC, et la lecture de celle-ci te donnera la réponse. Tu peux
également utiliser la fonction AError(), juste après ton code retour à -1
pour récupérer les codes erreurs ODBC.
A moins que tu ne profites pas des avantages d'ODBC et de VFP, et que tu
instancies un objet OleDB. Dans ce dernier cas, je n'ai pas de solution...

"Franck Fouache" a écrit dans le message de
news:

justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit
begin transation
traitement
commit
commit

tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me


dit
que le dernier commit n'est pas fait, sans aucune autre erreur ailleurs


...
je chercher pour affiner, donner plus d'infos et éventuellement si je


trouve
entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes de
commit et quelle en était la nature pour me donner une piste de recherche
...

a+




"Fred BROUARD" a écrit dans le message de


news:

> Quelle est l'erreur ?
>
> A +
>
> Franck Fouache a écrit:
>> salut tout le Monde,
>> quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
>> renvoie une erreur ...
>> de mon côté je fouille les fichiers d'aide et la Knowledge Base de
>> Microsoft ... sans succès pour le moment ...
>> a+
>
> --
> Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
> Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
> Audit, conseil, expertise, formation, modélisation, tuning, optimisation
> ********************* http://www.datasapiens.com ***********************
>




Avatar
Franck Fouache
okay ...
merci pour toutes ces pistes ...
je viens de trouver la solution de mon problème, je peux même l'isoler dans
une seule transation, le tout se déroule comme suit :

begin transaction
traitement
commit transaction

là il se passe quelque chose d'étrange à mon goût, est que dans la partie
traitement je crée un index sur une table et cet index existe déjà ... SQL
est sympa de me signaler l'erreur, je trouve juste un peu fort que ça me tue
ma transaction ...

voilà, c'est juste de l'info ... si quelqu'un à une explication à ce
phénomène je suis tout de même preneur, pour ma culture personnelle ...

merci à tous.
a+



"Franck Fouache" a écrit dans le message de news:


justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit
begin transation
traitement
commit
commit

tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me
dit que le dernier commit n'est pas fait, sans aucune autre erreur
ailleurs ...
je chercher pour affiner, donner plus d'infos et éventuellement si je
trouve entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes de
commit et quelle en était la nature pour me donner une piste de recherche
...

a+




"Fred BROUARD" a écrit dans le message de
news:
Quelle est l'erreur ?

A +

Franck Fouache a écrit:
salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de
Microsoft ... sans succès pour le moment ...
a+



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************







Avatar
Med Bouchenafa
La gestion des erreurs est le point faible de SQL Server 2000
Certaines erreurs se soldent par un rollback la tansaction, alors que pour
d'autres la ransaction est maintenue.
On arrive plus ou moins à avoir un traitement cohérent avec
SET XACT_ABORT ON

Mais bon, c'est pas encore la joie
Vivement 2005 sur ce point

--
Avec mes meilleurs voeux 2006
Med Bouchenafa


"Franck Fouache" a écrit dans le message de news:


okay ...
merci pour toutes ces pistes ...
je viens de trouver la solution de mon problème, je peux même l'isoler
dans une seule transation, le tout se déroule comme suit :

begin transaction
traitement
commit transaction

là il se passe quelque chose d'étrange à mon goût, est que dans la partie
traitement je crée un index sur une table et cet index existe déjà ... SQL
est sympa de me signaler l'erreur, je trouve juste un peu fort que ça me
tue ma transaction ...

voilà, c'est juste de l'info ... si quelqu'un à une explication à ce
phénomène je suis tout de même preneur, pour ma culture personnelle ...

merci à tous.
a+



"Franck Fouache" a écrit dans le message de news:


justement j'ai pas d'erreur à donner pour le moment ...
tout se passe bien dans mes traitements, sauf qu'à un moment je fais un
commit et il n'est pas fait ..
j'ai tout un traitement qui se déroule comme suit:

begin transation
traitement
begin transation
traitement
commit
begin transation
traitement
commit
commit

tout ça se passe hors sql, et la seule info que j'ai est que le dernier
commit ne s'est pas fait.
le programme est écrit en FoxPro et j'ai juste un code retour -1 qui me
dit que le dernier commit n'est pas fait, sans aucune autre erreur
ailleurs ...
je chercher pour affiner, donner plus d'infos et éventuellement si je
trouve entre-temps d'en faire profiter les autres ...

je voulais juste savoir si quelqu'un avait déjà rencontré des problèmes
de commit et quelle en était la nature pour me donner une piste de
recherche ...

a+




"Fred BROUARD" a écrit dans le message de
news:
Quelle est l'erreur ?

A +

Franck Fouache a écrit:
salut tout le Monde,
quelqu'on connaît-il des raisons qui ferait qu'une instruction commit
renvoie une erreur ...
de mon côté je fouille les fichiers d'aide et la Knowledge Base de
Microsoft ... sans succès pour le moment ...
a+



--
Frédéric BROUARD, MVP SQL Server, expert bases de données et langage SQL
Le site sur le langage SQL et les SGBDR : http://sqlpro.developpez.com
Audit, conseil, expertise, formation, modélisation, tuning, optimisation
********************* http://www.datasapiens.com ***********************