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

Sql*Plus Oracle Discussion :

Executer un script sql à partir d'un script shell


Sujet :

Sql*Plus Oracle

  1. #1
    Nouveau Candidat au Club
    Inscrit en
    Avril 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Executer un script sql à partir d'un script shell
    j'essaie de lancer un script sql à partir d'un script shell.
    Je rentre en argument le nom de la table "nom_table":
    voici le contenu du script shell (essai.sh) que j'utilise:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #!/usr/bin/csh
    sqlplus bb/bb <<EOF
    set wrap off
    set echo off
    set feedback off
    set heading on
    set verify off
    spool /var/test/fich.log
    start script_t.sql $1
    spool off
    exit
    EOF
    voici également, un extrait du "script script_t.sql":

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    set pagesize 50000
    set linesize 2700
    set wrap off
    set echo off
    set feedback off
    set heading on
    set verify off
    set colsep ';'
    set numwidth 19
     
    column MSC_ID noprint
    column PERIOD_START_TIME_h format a17
    column PERIOD_START_TIME noprint
    column PERIOD_DURATION heading "DURATION"
     
    col sysd noprint new_value sysd
    select to_char(sysdate-1, 'dd.mm.yyyy') sysd from dual;
     
    spool /var/test/test_&sysd..txt;
     
    select     CO_NAME as NAME,
        to_char(PERIOD_START_TIME,'dd.mm.yyyy hh24:mi') as PERIOD_START_TIME_h,
        $1.* from $1,
        utp_mo 
    where     $1.MSC_ID=utp_mo.CO_GID
        and to_char(PERIOD_START_TIME,'dd.mm.yyyy hh24:mi')>=to_char(sysdate-1,'dd.mm.yyyy') ||' 00:00'
     
    order by PERIOD_START_TIME;
     
    spool off;

    pour executer mon script shell: je lance

    sh essai.sh nom_table

    sauf qu'il plante lorsque le $1 est remplacé par nom_table à la ligne $1.* dans le script sql. Alors que lorsque nom_table est rentré en dure dans le script sql, cela fonctionne.

    Quelqu'un pourrait m'aider à debugger ce pb ?

    Merci

  2. #2
    Membre éprouvé Avatar de star
    Homme Profil pro
    .
    Inscrit en
    Février 2004
    Messages
    867
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Corée Du Nord

    Informations professionnelles :
    Activité : .

    Informations forums :
    Inscription : Février 2004
    Messages : 867
    Points : 1 019
    Points
    1 019
    Par défaut
    Essai avec %1 ou &1 pour voir
    Diviser c'est régner : United we stand, Divided we fall
    .

  3. #3
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Essaie directement en faisant essai.sh nom_table. Je ne comprends pas pourquoi tu appelles le bourne shell alors que dans ton fichier ta bannière indique que tu utilises le Cshell.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    110
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 110
    Points : 111
    Points
    111
    Par défaut
    heu, tu ne peux pas faire comme ça, il faut faire du dynamique dans ton sql (du moins je pense).

    exemple ici
    http://sheikyerbouti.developpez.com/execute_immediate/

  5. #5
    En attente de confirmation mail
    Inscrit en
    Mars 2010
    Messages
    205
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 205
    Points : 230
    Points
    230
    Par défaut
    Citation Envoyé par alx13 Voir le message
    heu, tu ne peux pas faire comme ça, il faut faire du dynamique dans ton sql (du moins je pense).
    Ah non, ça marche très bien, j'en ai fait des dizaines sur le même principe

Discussions similaires

  1. Lancer un script SQL à partir d'un script SQL
    Par Chevalier au taureau dans le forum MySQL
    Réponses: 0
    Dernier message: 06/05/2011, 16h52
  2. Execution Script SQL à partir d'une interface asp
    Par Mils34 dans le forum ASP.NET
    Réponses: 1
    Dernier message: 27/03/2011, 18h31
  3. appeler un script sql depuis un autre script sql
    Par scilab dans le forum Débuter
    Réponses: 1
    Dernier message: 23/02/2011, 21h53
  4. [XL-2007] executer un script SQL à partir de Excel
    Par samia004 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 04/08/2010, 17h35
  5. [PAMC]génération d'un mcd à partir d'un script sql
    Par jounaidi dans le forum Sybase
    Réponses: 2
    Dernier message: 27/03/2006, 17h43

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