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 :

[SQL-SEVER2005] Gestion des erreurs pour les requêtes


Sujet :

MS SQL Server

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut [SQL-SEVER 2000] Gestion des erreurs pour les requêtes
    Bonjour à toutes et tous,

    J'aimerais savoir s'il est possible de créer une instruction du genre vba :
    But :
    J'ai des requêtes SQL qui peuvent me retourner un message d'erreur dont le level est de niveau 16 mais pour lesquelles on peut quand même continuer sans que cela ne pose de problèmes pour la suite de mon travail.

    J'aimerais donc pouvoir sauter ces erreurs et continuer les requêtes suivantes.

    Je sais que l'on peut utiliser la variable @@ERROR mais comment ?

    Savez-vous si cela est possible ?

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    381
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 381
    Par défaut
    C'est peut etre ca qu'il te faut ?
    Sinon je sais que c'est possible sur DTS mais c'est pas pratique (et surtout y'a plus DTS sur 2005, c'est un nouvel outil, mais je connais pas du tout : / )

  3. #3
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut
    Merci NOX mais malheureusement j'avais déjà regardé de ce côté là.

    En fait, j'aimerais faire des ALTER sur des tables pour supprimer ou remettre des contraintes mais si il me retourne une erreur de niveau 16 sur la requête -> passer cette requête ...

    Cela signifierait simplement que j'avais déjà supprimé ou mis à jour la requête sur la contrainte...

    Je ne sais pas si je suis clair ...

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Par défaut
    Bonjour,
    Avez-vous essayez des blocs d'exception ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    Begin try
    ....
    end try
    begin catch
    ....
    end catch

  5. #5
    Membre très actif
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2003
    Messages
    274
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : Luxembourg

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2003
    Messages : 274
    Par défaut
    Bonjour,

    Tu peux me tutoyer.

    Oui, en effet j'ai essayé ces blocs mais il m'affiche un message d'erreur lors de la compilation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    BEGIN TRY
    	ALTER TABLE COM_USER.INVESTMENT
     		DROP CONSTRAINT FK_INVESTME_ASSC_22_INVESTME
    END TRY
    BEGIN CATCH
    	PRINT 'OK'
    END CATCH
    Erreur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Msg 170, Level 15, State 1, Procedure SUPPRESS_YEAR_OF_FUND, Line 43
    Line 43: Incorrect syntax near 'TRY'.
    Apparemment il ne connaît pas la syntaxe BEGIN TRY

  6. #6
    Membre Expert
    Avatar de rudib
    Homme Profil pro
    Fakir SQL Server & NoSQL
    Inscrit en
    Mai 2006
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Fakir SQL Server & NoSQL

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 573
    Par défaut
    Bonjour,

    Le code TRY CATCH que tu postes est correct. Peux-tu poster toute la sproc SUPPRESS_YEAR_OF_FUND ?

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Mai 2007
    Messages : 46
    Par défaut
    tu es bien en version 2005 ?

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

Discussions similaires

  1. Gestion des erreurs dans une requête "IF"
    Par tineighty dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 08/10/2007, 18h22
  2. Réponses: 2
    Dernier message: 28/02/2007, 13h13
  3. Gestion des erreurs pour runtime
    Par cbleas dans le forum Runtime
    Réponses: 1
    Dernier message: 09/12/2006, 14h18
  4. Réponses: 6
    Dernier message: 09/06/2006, 12h17

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