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

VBScript Discussion :

Gestion erreur sql


Sujet :

VBScript

  1. #1
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut Gestion erreur sql
    Bonjour ,

    J'ai un script VBScript qui me permet de me connecter a une base de données et d'en récupérer l'état (open, mount ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Set cmd = WshShell.Exec("cmd /c "& ORACLE_HOME & "\BIN\sqlplus.exe -s /@"&SERVICE &" as sysdba @C:\test\nscp_supervision\scripts\test\requete_vbs\requete_sql_etat_bdd.sql")
     
    		ERR_SQL= err.description
     
    		result_cmd = split(cmd.StdOut.ReadAll,VbCrLf)
    		Do While cmd.Status <> 1
    			WScript.Sleep 100
    		Loop	
     
    	CODE_ERREUR = err.number		
    				if CODE_ERREUR = 0 then 
    					result_status = result_cmd (1)
    					result_version = result_cmd (2)
    					result_date = result_cmd (3) &" - " &result_cmd (4)
     
    				else
    					CODE_ERREUR = 2									
    					gest_erreur_sql()
    				end if
    ce code marche quand la base est en état open et mount

    les requêtes que j’exécute et qui sont dans @C:\test\nscp_supervision\scripts\test\requete_vbs\requete_sql_etat_bdd.sql sont les suivantes,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    whenever sqlerror exit 2;
    		set echo off
    		set linesize 10
    		set pagesize 10
    		set head off
     
    		SELECT
    			STATUS,
    			VERSION,
    			to_char(STARTUP_TIME, 'dd/mm/yyyy hh24:mi:ss')
    		FROM
    			V$INSTANCE;
    quit;
    mais quand la base est shutdown, j'ai un problème qui doit être lié au fait que je ne peux pas faire de select avec la base en shutdown et ce que vous sauriez comment je peux récupérer l'erreur sql généré lors de cette erreur ?

    Merci,

    Galène

  2. #2
    Membre émérite Avatar de tsuji
    Inscrit en
    Octobre 2011
    Messages
    1 558
    Détails du profil
    Informations forums :
    Inscription : Octobre 2011
    Messages : 1 558
    Points : 2 736
    Points
    2 736
    Par défaut
    Je vois plusieurs problèmes du script assez incompréhensibles ...
    [0] Les lignes #3 et #10 ne peuvent pas correctes. Si il n'y a pas "on error resume next", l'objet err ne pourrait pas traité comme ça : le script va quitter de toute façon.
    [1] Les lignes #6-#8 doient être placées devant la ligne #5, placées après, il n'y a pas de sens.
    [2] Pour contrôler l'erreur, vous faites simplement ceci.
    Code vbs : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    exitcode=cmd.exitcode
    if exitcode=2 then
        'le sql résulte en erreur
    else
        'faire sortie les valeurs enquêtées
    end if

  3. #3
    Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2015
    Messages
    37
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Vienne (Poitou Charente)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2015
    Messages : 37
    Points : 42
    Points
    42
    Par défaut
    Bonjour

    merci de votre réponse,

    Oui désolé le "on error resume next" est plus haut j'avais oublier de le copier mais il y était et votre solution marche très bien

    Merci je met la discussion en résolu.

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

Discussions similaires

  1. [MySQL] Gestion d'erreur sql
    Par Shivas dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 15/04/2008, 16h37
  2. Gestion erreur Sql avec UIB
    Par AuBozon dans le forum SQL
    Réponses: 0
    Dernier message: 11/02/2008, 11h46
  3. [SQL Serveur 2000] - Trigger gestion erreur
    Par Silvia12 dans le forum Développement
    Réponses: 7
    Dernier message: 12/06/2007, 11h08
  4. Gestion erreur SQL Serveur dans un Script VBS
    Par jayan dans le forum VBScript
    Réponses: 3
    Dernier message: 08/02/2007, 14h06
  5. Gestion des erreurs SQL
    Par savior dans le forum Langage SQL
    Réponses: 5
    Dernier message: 17/05/2006, 11h35

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