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 :

Lancer requêtes sql en utilisant sqlplus.exe


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 Lancer requêtes sql en utilisant sqlplus.exe
    Bonjour j'ai cherché pendant beaucoup de temps comment me connecter en sysdba sur ma base de données oracle à l'aide d'un script Vbscript http://www.developpez.net/forums/d15...oracle-sysdba/

    n'ayant pas pu trouver j'ai voulu utiliser l'utilitaire sqlplus.exe en me connectant comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Set sh  = CreateObject("WScript.Shell")
    		Set cmd2 = sh.Exec("cmd /c "& ORACLE_HOME & "\BIN\sqlplus.exe system/mdpmanager@bddgba as sysdba")
    la connexion marche !! je me connecte bien en sys après avoir été verifié dans v$instance

    Maintenant il faudrait que je puisse faire des requêtes sql et que je puisse en récupérer le résultat

    Est ce que quelqu'un aurait une idée de comment faire ?

    Merci d'avance

    Galène

  2. #2
    Membre régulier
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Novembre 2012
    Messages
    54
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2012
    Messages : 54
    Points : 76
    Points
    76
    Par défaut
    Bonjour,

    Pas trop compris ce que tu voulais récupérer.

    Peut être mon code pourras t'aider

    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
    dim Results
    Set sh  = CreateObject("WScript.Shell")
    Set cmd = sh.Exec("cmd /c "& ORACLE_HOME & "\BIN\sqlplus.exe system/mdpmanager@bddgba as sysdba")
    Resultats = cmd.StdOut.ReadAll
    call Ecrit(Results,"C:\resultats.txt") 
     
    Sub Ecrit(message,ScriptFileName)
    				Const ecriture = 2
    				Const Lecture = 1
    				Const Recriture = 8
    				dim ScriptFileName,objFSO,FileOut,objFile
    				Set objFSO = CreateObject("Scripting.FileSystemObject")
    				'if objFSO.FileExists(ScriptFileName) Then objFSO.DeleteFile(ScriptFileName)
    				Set FileOut = objFSO.OpenTextFile(ScriptFileName,Recriture, True)
    				FileOut.write Message
    				FileOut.close
    End sub

    ++

  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 ta réponse,

    en faite maintenant que j'arrive à me connecter je voudrais pouvoir lancer des requêtes sql du genre

    select status from v$status;

    et récupérer le résultat de cette requête dans une variable par exemple .

  4. #4
    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
    j'ai réussi à trouver la solution du coup

    pour ceux que ça intéresse

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Set cmd = sh.Exec("cmd /c "& ORACLE_HOME & "\BIN\sqlplus.exe -s /@"&SERVICE &" as sysdba @Z:\Partage\Sonde\essai\test_recordset\requetesql.sql")
     
    		result_cmd = split(cmd.StdOut.ReadAll,VbCrLf)
     
    		wscript.echo result_cmd (0)
    		wscript.echo result_cmd (1)
    		wscript.echo result_cmd (2)
    		wscript.echo result_cmd (3)
    		wscript.echo result_cmd (4)

    @Z:\Partage\Sonde\essai\test_recordset\requetesql.sql sert à aller chercher le fichier sql dans lequel les instructions sql sont présentes

    pour ma part il ressemble à ça

    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

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

Discussions similaires

  1. [2.x] Où placer les requêtes SQL (sans utiliser d'ORM)
    Par xhion dans le forum Symfony
    Réponses: 6
    Dernier message: 20/12/2012, 09h51
  2. Renommer des colonnes dans une requête SQL en utilisant bcp
    Par Polochon_77 dans le forum Développement
    Réponses: 2
    Dernier message: 14/01/2012, 18h50
  3. Réponses: 1
    Dernier message: 15/04/2011, 09h33
  4. lancer requête SQL depuis formulaire access
    Par Zavonen dans le forum VBA Access
    Réponses: 8
    Dernier message: 16/10/2007, 19h43
  5. [AJAX] Requète SQL en utilisant du Javascript
    Par tstievet dans le forum Général JavaScript
    Réponses: 10
    Dernier message: 31/10/2006, 10h25

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