IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

SQL Oracle Discussion :

Savoir le nom de colonne qui a déclenché l'exception


Sujet :

SQL Oracle

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut Savoir le nom de colonne qui a déclenché l'exception
    Bonjour, je fait un batch qui lance plusieurs patchs, je veux savoir si un patch fait une erreur par exemple lors d'un inserstion comme invali number ou n'importe, savoir vraiment quel champ de la table qui déclenché cette exception, car je fais plein d'insert et je sais la ligne qui a fait problème mais je veux qd j fait mes logs de préciser quel champ, ce sont des batchs de nuit, ça m'intrésse de savoir la colonne où s'est déclenché le problème
    Merci

  2. #2
    Modérateur
    Avatar de Waldar
    Homme Profil pro
    Sr. Specialist Solutions Architect @Databricks
    Inscrit en
    Septembre 2008
    Messages
    8 454
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Sr. Specialist Solutions Architect @Databricks
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2008
    Messages : 8 454
    Par défaut
    Respirez !

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut
    Je me suis concentré dans mon truc, et j'étais en train d'écrire ce qui me passait mand ma t^te,
    donc c'est un batch qui lance plusieurs patch sur des tables et je veux savoir juste comment savoir que c'est l'insertion dans un champ 'A' de la table 'B' qui a posé problème ( exemple insérer une lettre dans un chmps pris)
    Merci encore
    Citation Envoyé par Waldar Voir le message
    Respirez !

  4. #4
    Membre Expert Avatar de scheu
    Inscrit en
    Juin 2007
    Messages
    1 506
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1 506
    Par défaut
    Tu peux, dans ton batch, récupérer le code erreur SQL (SQLCODE) et le message associé (SQLERRM) si la requête SQL plante
    La théorie, c'est quand on sait tout mais que rien ne fonctionne.
    La pratique, c'est quand tout fonctionne mais que personne ne sait pourquoi.
    Ici, nous avons réuni théorie et pratique : Rien ne fonctionne ... et personne ne sait pourquoi !

    Réplication de base avec Postgresql : http://scheu.developpez.com/tutoriel.../log-shipping/

  5. #5
    Membre Expert Avatar de fatsora
    Profil pro
    Inscrit en
    Février 2006
    Messages
    1 103
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 1 103
    Par défaut
    Dommage que tu n'aies pas precisé ta version Oracle

    Si par le plus grand des hasard tu as la chance d'avoir une version superieure a 10G R2


    a partir de 10G R2 tu as DBMS_UTILITY.FORMAT_ERROR_BACKTRACE !!

    http://download.oracle.com/docs/cd/B...htm#sthref7777

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut
    Je travaille sur une version 9I, savez une autre solution merci
    Citation Envoyé par fatsora Voir le message
    Dommage que tu n'aies pas precisé ta version Oracle

    Si par le plus grand des hasard tu as la chance d'avoir une version superieure a 10G R2


    a partir de 10G R2 tu as DBMS_UTILITY.FORMAT_ERROR_BACKTRACE !!

    http://download.oracle.com/docs/cd/B...htm#sthref7777

  7. #7
    Membre confirmé
    Inscrit en
    Juin 2008
    Messages
    85
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 85
    Par défaut
    Oui j'avais creé une table log où j'insère dedans quel patch a planté avec sqlcode et libelle, mais dedans je sais juste que par exemple telle ligne ne s'est pas inséré pour invalid number par exemple mais je ne sais exactement quellle colonne de la table qui a fait ça. car il y a dans les tables trops de colonnes et je ne peux pas savoir la colonne exact qui posé problème.

    une lettre qui veut s'inserer dans un chmp numérique comme j'en ai plein de colonne de type numérique je ne sais quelle colonne a declenché ceci.
    Citation Envoyé par scheu Voir le message
    Tu peux, dans ton batch, récupérer le code erreur SQL (SQLCODE) et le message associé (SQLERRM) si la requête SQL plante

Discussions similaires

  1. Réponses: 3
    Dernier message: 22/05/2011, 13h31
  2. Rechercher BD, nom des tables qui ont une colonne "location"
    Par arnaudperfect dans le forum Requêtes
    Réponses: 5
    Dernier message: 22/10/2008, 12h33
  3. Savoir l'ID du controle qui déclenché un PostBack
    Par Wahid.Net dans le forum ASP.NET
    Réponses: 2
    Dernier message: 19/11/2007, 18h57
  4. Réponses: 2
    Dernier message: 26/07/2007, 15h27
  5. Savoir le nom de l'executable qui execute le DLL
    Par Riko dans le forum Delphi
    Réponses: 2
    Dernier message: 17/06/2006, 21h27

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo