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

MS SQL Server Discussion :

Récuperation d'un numero d'erreur


Sujet :

MS SQL Server

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut Récuperation d'un numero d'erreur
    Bonjour à tous,
    J'ai un petit script dans lequel apparait parfois le message d'erreur :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Serveur*: Msg 4832, Niveau 16, État 1, Ligne 1
    Insertion en bloc : Fin de fichier (EOF) inattendue dans le fichier de données.
    Serveur*: Msg 7399, Niveau 16, État 1, Ligne 1
    Le fournisseur OLE DB 'STREAM' rapporte une erreur. Le fournisseur n'a donné aucune information quant à cette erreur.
    Trace de l'erreur OLE DB [OLE/DB Provider 'STREAM' IRowset::GetNextRows returned 0x80004005:  Le fournisseur n'a donné aucune information quant à cette erreur.].
    L'instruction a été arrêtée.
    J'ai identifier mon problème dans les bases, mais j'aimerai pouvoir récupéré le numéro 4832 (msg 4832) pour pouvoir faire afficher un msg d'erreur personnalisé.

    Comment faire?
    merrci d'avance

  2. #2
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    Bonjour,
    la variable globale @@error renvoie le code de la derniere erreur rencontrée. Tu pourras peut etre l'utiliser.

    Cordialement

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    Oui j'ai essayé ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if @@error= 4832  print 'ERREUR MACHIN, EXPLICATION ETC...'
    Mais lorsque je relance, ça ne fonctionne pas

  4. #4
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    La variable globale @@error change de valeur apres chaque instruction SQL.
    Exemple :
    -- ici @@ error = 0
    insert values ......
    --ici il y a erreur @@error = 12365477889988777
    update titi ... ...
    -- ici tout c'est bien passé @@errerur = 0 donc il a changé de valeur. il faut memoriser dans une variable la valeur de @@error dans le cas ou il etatit 12365477889988777.

    Tu peux aussi mettre des @@erreur partout en faisant print @@erreur et tu verra à quel moment il change de veleur.

    Cordialement

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    J'ai essayé de mettre des "print @@error" partout et en fait je me rend compte que plus rien n'est affiché après l'instruction qui bloque.

    Du coup, c'est pour cela que mes messages ne sont pas affichés.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    434
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 434
    Points : 502
    Points
    502
    Par défaut
    Salut,

    Il faut que tu utilises la fonction RAISERROR pour traper l'erreur et ensuite afficher un message personnalisé.

    Regarde l'aide dans le query Analyser, c'est bien expliqué

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    excuse moi, question con mais c'est quoi "query analyser" ?

  8. #8
    Membre habitué Avatar de SILO
    Inscrit en
    Mars 2002
    Messages
    192
    Détails du profil
    Informations personnelles :
    Âge : 53

    Informations forums :
    Inscription : Mars 2002
    Messages : 192
    Points : 130
    Points
    130
    Par défaut
    Analyseur de requête en version française.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    70
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 70
    Points : 63
    Points
    63
    Par défaut
    ok merci

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Récuperer le N° de l'erreur en VBNET
    Par WG614 dans le forum MySQL
    Réponses: 2
    Dernier message: 02/05/2009, 18h24
  2. récuperer une base détacher par erreur
    Par ess2007 dans le forum Administration
    Réponses: 2
    Dernier message: 03/08/2008, 16h05
  3. siemens step7 numero d'erreur?
    Par geoffraycharlot dans le forum Automation
    Réponses: 11
    Dernier message: 28/05/2008, 13h17
  4. Récuperation d'un message d'erreur
    Par bodysplash007 dans le forum Langage
    Réponses: 3
    Dernier message: 16/03/2007, 15h13
  5. [vb net]comment recuperer le numero d'erreur
    Par jj del amorozo dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/11/2006, 13h54

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