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

Oracle Discussion :

Script batch qui appelle un fichier sql


Sujet :

Oracle

  1. #1
    Membre du Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 66
    Points : 57
    Points
    57
    Par défaut Script batch qui appelle un fichier sql
    Bonjour les DBA,


    Je galère depuis une semaine j'ai un script batch qui doit appeler mon fichier SQL chargé de faire une sauvegarde de ma base.

    Quand je double clique sur le fichier .bat nommé start.bat qui doit exécuter scripte.sql j'ai l'erreur :
    SP2-0310: impossible d'ouvrir le fichier "C:\scripte.sql"
    Sachant que mon fichier scripte.sql se trouve dans : C:\ puis dans un dossier ORCL_BACKUP puis j'ai ajouté le chemin de ORCL_BACKUP dans le path
    sachant que le script marche nickel sous Windows 7.
    Apparemment c'est un problème de chemin sous Windows XP.
    Je suis en stage j'ai trouvé leur oracle sous xp.

    Voici comment j'appelle scripte.sql dans start.bat :
    Code shell : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus / as sysdba @%ORCL_BACKUP%\Script.sql
    J'ai besoin d'aide, merci.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut
    Bonjour,

    Qu'est ce que ORCL_BACKUP exactement ?

    "C:\ puis dans un dossier ORCL_BACKUP" fait penser que c'est un nom de dossier.
    Si votre script est dans C:\ORCL_BACKUP il faut mettre ça dans votre batch.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus / AS sysdba @C:\ORCL_BACKUP\Script.sql
    Si ORCL_BACKUP est une variable d'environnement (valorisée avec set ORCL_BACKUP=...)
    alors votre script est bon. (Hormis que vous mentionnez une fois "scripte.sql" et un autre "Script.sql" ce qui n'est pas cohérent.

    Enfin la notion de PATH OS n'intervient pas dans le fait de trouver ou pas votre script SQL.
    C'est sur SQLPATH qu'il faut jouer. Soit dans la base de registre, soit par une variable d'environnement.
    Accessoirement si vous procédez comme ça en vous reposant sur une notion d'environnement pour donner l'adresse de votre script vous avez largement intérêt à lui donner un nom significatif (ex SAV_BDD_XXX.sql pour sauver la base XXX) ça vous évitera de lancer le premier script.sql à porté de SQLPATH connecté sys

    Pozzo

  3. #3
    Membre expérimenté
    Avatar de islamov2000
    Homme Profil pro
    Ingénieur d'études & developpement en informatique
    Inscrit en
    Septembre 2007
    Messages
    814
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Algérie

    Informations professionnelles :
    Activité : Ingénieur d'études & developpement en informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2007
    Messages : 814
    Points : 1 717
    Points
    1 717
    Billets dans le blog
    6
    Par défaut
    Pourquoi utiliser une variable d'environnement de XP.
    Essaie un chemin statique.
    d'avoir Pensé à voter positivement pour ceux qui vous ont aidés et surtout à mettre si le cas.
    ça encourage.

  4. #4
    Membre du Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    Merci de mavoir repondu Desolé pour le retard oui ORCL_BACKUP est un dossier et son chemin se trouve dans le path . mais meme avec un chemin static sans l'utilisation de variable denvironnement en faisant : sqlplus / as sysdba C:\Script.sql
    dans mon fichier start(c'est un fichier batch car c'est lui qui fait appele a a mon fichier Script.sql) mais sa ne marche toujours pas
    j'ai a nouveau une nouvelle erreure(voir lien en bas) .j'en suis certains que c'est un probleme de chemin mais je ne vois null part d'ou elle porrait venire
    http://cjoint.com/?DAvdcQxdJar

  5. #5
    Nouveau Candidat au Club
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Janvier 2014
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2014
    Messages : 1
    Points : 1
    Points
    1
    Par défaut
    Bonjour,

    Dans ton script, tu dis que le fichier est à la racine de "C:".

    Si le fichier script est bien dans "C:\ORCL_BACKUP", soit tu fais "sqlplus / as sysdba Script.sql" soit "sqlplus / as sysdba C:\ORCL_BACKUP\Script.sql"

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Février 2007
    Messages
    260
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 260
    Points : 281
    Points
    281
    Par défaut Hum
    Attention il manque le "@"

    Pour invoquer un script n'écrivez pas :
    sqlplus / as sysdba C:\script.sql

    MAIS
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sqlplus / as sysdba @C:\script.sql
    Pozzo

  7. #7
    Membre du Club
    Femme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2013
    Messages
    66
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Septembre 2013
    Messages : 66
    Points : 57
    Points
    57
    Par défaut
    je vous remercis tous en particulier ludo62920 et Pozzo
    pour ludo62920 :"sqlplus / as sysdba Script.sql" (la console souvre en une fraction de seconde et se referme) donc le scipte naboutit pas meme en essayant avec un system pause a l'interieur du fichier c'est la meme chose
    Pozzo : finalement ta methode marche Merci beaucoup
    avec : sqlplus / AS sysdba @C:\script.sql (le scripte s'execute a merveil)
    en gros meric !!!!!!!!!!!!!!!!!

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

Discussions similaires

  1. Batch qui exécute un dump sql
    Par rider74 dans le forum Windows
    Réponses: 6
    Dernier message: 04/02/2008, 13h39
  2. Script shell qui appelle méthode Java ?
    Par babyboy dans le forum Linux
    Réponses: 3
    Dernier message: 17/08/2007, 01h45
  3. applet qui appelle un fichier xml
    Par osara dans le forum Applets
    Réponses: 1
    Dernier message: 17/10/2006, 23h44
  4. comment appelé un fichier SQL server a partir d'un autre
    Par cyrille21 dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/06/2006, 16h21

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