Précédent   Forum des professionnels en informatique > Bases de données > Oracle > SQL
SQL Forum d'entraide sur le SQL pour Oracle
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/02/2008, 17h28   #1
Invité de passage
 
Inscription : janvier 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5
Points : 0
Points : 0
Par défaut Echec d'un Rollback

Bonjour,

Est ce que pour une raison ou pour une autre, un Rollback
peut échoué et ne pas être effectué?
spesnel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 17h37   #2
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
pourrais-tu être plus précis quand au circonstance ? Si tu passes la commande ROLLBACK soit t'as une erreur soit ça fonctionne
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 17h53   #3
Invité de passage
 
Inscription : janvier 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5
Points : 0
Points : 0
En fait, cela se passe dans un programme Windev.
J'annule ma transaction, mais je n'ai pas testé le résultat
de la fonction.
J'ai une base qui se trouve incohérente, et il semble qu'un de
mes traitements batch aie mal fait un rollback :
certaines enregistrements sont modifiés et pas d'autres alors
que compte tenu des circonstances, rien n'aurait du être
modifié (annulation par le Rollback).
Comme le SqlDeconnecte de PCSoft semble faire un Commit d'office
au bout du compte, ma base est bancale.
spesnel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 05/02/2008, 21h16   #4
Rédacteur/Modérateur
 
Avatar de orafrance
 
Inscription : janvier 2004
Messages : 15 861
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2004
Messages : 15 861
Points : 16 212
Points : 16 212
bah oui faut faire un rollback explicite
orafrance est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 09h20   #5
Invité de passage
 
Inscription : janvier 2006
Messages : 5
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 5
Points : 0
Points : 0
Je fais un Rollback explicite, mais je ne teste pas
sa réponse.
Ma question est donc : est ce qu'un Rollback peut échouer
et si oui, pour quelles raisons ?
spesnel est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 09h29   #6
Expert Confirmé
 
Avatar de LeoAnderson
 
Inscription : septembre 2004
Messages : 2 942
Détails du profil
Informations forums :
Inscription : septembre 2004
Messages : 2 942
Points : 2 972
Points : 2 972
non. sauf crash important avec ORA-600 ou ORA-7445 dans l'alert.log, si l'utilisateur demande un rollback, il sera joué.
LeoAnderson est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 13h28   #7
Expert Confirmé
 
Inscription : février 2006
Messages : 3 433
Détails du profil
Informations forums :
Inscription : février 2006
Messages : 3 433
Points : 3 462
Points : 3 462
Citation:
Envoyé par spesnel Voir le message
Je fais un Rollback explicite, mais je ne teste pas
sa réponse.
De manière générale, un programme client doit toujours tester le code retour d'un service base de données et cela inclut forcément le COMMIT et le ROLLBACK. Toute erreur devrait être au moins signalée voire enregistrée côté client.
__________________
P. Forstmann

AskTom Forums OTN doc 8, 9, 10 et 11
pifor est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/02/2008, 16h39   #8
Expert Confirmé Sénior
 
Avatar de mnitu
 
Homme Marius Nitu
Ingénieur développement logiciels
Inscription : octobre 2007
Messages : 3 319
Détails du profil
Informations personnelles :
Nom : Homme Marius Nitu
Localisation : France, Marne (Champagne Ardenne)

Informations professionnelles :
Activité : Ingénieur développement logiciels
Secteur : High Tech - Éditeur de logiciels

Informations forums :
Inscription : octobre 2007
Messages : 3 319
Points : 5 837
Points : 5 837
Citation:
Envoyé par spesnel Voir le message
En fait, cela se passe dans un programme Windev.
J'annule ma transaction, mais je n'ai pas testé le résultat
de la fonction.
J'ai une base qui se trouve incohérente, et il semble qu'un de
mes traitements batch aie mal fait un rollback :
certaines enregistrements sont modifiés et pas d'autres alors
que compte tenu des circonstances, rien n'aurait du être
modifié (annulation par le Rollback).
Comme le SqlDeconnecte de PCSoft semble faire un Commit d'office
au bout du compte, ma base est bancale.
Je ne pense pas que ton problème est du au rollback sauf une mauvais gestion des exceptions dans ton code ( le famous WHEN OTHER THEN NULL du PL/SQL or catch(exception ex) {} du JAVA, etc.)
Il y a peu de chances que t'a vraiment tappé dans une anomalie à l'exécution du rollback. Cherche plutôt au niveau d'algorithme.
mnitu est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 18h37.


 
 
 
 
Partenaires

Hébergement Web