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 :

Problème SqlPlus + shell


Sujet :

Sql*Plus Oracle

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut Problème SqlPlus + shell
    Bonjour, j'ai besoin d'executer un traitement EIM via un shell unix,
    à la fin de ce traitement, je dois vérifier des valeurs, j'utilise pour cela un script KSH:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    #-------------------------------------------------------------------
    # --- Test des enregistements non crees ou non modifies dans CSL ---
    #-------------------------------------------------------------------
    . ${CSL_SQLPLUS:?} @${REP_SQL:?}/${FICH_TEST_SQL:?} "${TABLE_EIM:?}" "${IF_ROW_BATCH_NUM:?}" $1
     
    CODE_ERREUR=$?
    Toutes ces variables sont définies dans un fichier d'environnement dont voici celles qui nous interessent:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    # ---   Chemin de l'exécutable SQL Plus
    export EXE_SQLPLUS=${EXE_SQLPLUS:="/dev/fs/D/bustools/oracle/ora92/bin/sqlplus.exe"}
     
    # -- Paramètres de SQL PLUS pour la base
    export CSL_SQLPLUS=${CSL_SQLPLUS:="${EXE_SQLPLUS} -S ${USER_CSL_ORACLE:?}/${PASSWORD_CSL_ORACLE:?}@${CSL_ORACLE:?}"}
    Les variables USER,PASSWORD.. sont OK
    Je pense que le problème vient du lancement de sqlPlus
    Je mets en pièce jointe l'erreur qui s'affiche.

    Merci
    Images attachées Images attachées  

  2. #2
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par popline7 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    . ${CSL_SQLPLUS:?} @${REP_SQL:?}/
    il ne faut pas sourcer, enlève le point au début de la ligne

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    en enlevant le point j'ai l'erreur:
    Impossible d'ouvrir le fichier csl_test_EIM qui correspond à ma variable FICH_TEST_SQL

  4. #4
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    set -x
    ${CSL_SQLPLUS:?} @${REP_SQL:?}/${FICH_TEST_SQL:?} "${TABLE_EIM:?}" "${IF_ROW_BATCH_NUM:?}" $1
     
    CODE_ERREUR=$?
    donne moi l'output stpl avec set -x

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    Je n'ai pas pu répondre avant car tout le code est à mon boulot et je ne travaillais pas.
    En ajoutant set-X Voila ce que ça donne:
    + /dev/fs/D/bustools/oracle/ora92/bin/sqlplus.exe -S CAPIT5/CAPIT5@DCAPEUR1 @/dev/fs/D/busdata/DCAP_FS/EIM/SQL/CSL_test_EIM.sql EIM_RESP 5 I
    SP2-0310: impossible d'ouvrir le fchier "/dev/fs/D/busdata/DCAP_FS/EIM/SQL/CSL_test_EIM.sql"

  6. #6
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Citation Envoyé par popline7 Voir le message
    SP2-0310: impossible d'ouvrir le fchier "/dev/fs/D/busdata/DCAP_FS/EIM/SQL/CSL_test_EIM.sql"
    Et le fichier CSL_test_EIM, il existe?

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    Oui, il existe

  8. #8
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    les permissions sont elles en ordre pour l'utilisateur?

    essaye de faire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ho ls -l /dev/fs/D/busdata/DCAP_FS/EIM/SQL/CSL_test_EIM.sql
    dans sqlplus

  9. #9
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    j'ai oublié de préciser que j'étais sur un environnement Windows, je teste mes .KSH avec un simulateur Unix FSU puis je lance C shell.
    Si je lance cette commande( ho ls -l ...) dans sqlPlus j'utilise sqlPlus de windows.
    De plus tout mon code marche en .bat, j'ai juste changé la syntaxe.

  10. #10
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut


    essaye

    FICH_TEST_SQL=$(echo "$FICH_TEST_SQL"|sed 's,/dev/fs/\(.\),\1:,;s,/,\\,g')

    pour transformer
    /dev/fs/D/busdata/DCAP_FS/EIM/SQL/CSL_test_EIM.sql
    en
    D:\busdata\DCAP_FS\EIM\SQL\CSL_test_EIM.sql

  11. #11
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ${CSL_SQLPLUS:?} @$(echo "${REP_SQL:?}/${FICH_TEST_SQL:?}"|
      sed 's,/dev/fs/\(.\),\1:,;s,/,\\,g') "${TABLE_EIM:?}" "${IF_ROW_BATCH_NUM:?}" $1

  12. #12
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    Merci ça a l'air de marcher mais pour le vérifier je dois lire un .bad avec lequel j'ai le même problème avec une ligne de code preque identique qui permet de générer le fichier bad:

    . ${CSL_SQLPLUS} @${REP_SQL_DUR}/${FICH_BAD_SQL}_${TYPE_TRAIT} ${REP_LOG}/${FICH_BAD_EIM} ${TABLE_EIM} ${IF_ROW_BATCH_NUM}

  13. #13
    Expert confirmé
    Avatar de laurentschneider
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Décembre 2005
    Messages
    2 944
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations professionnelles :
    Activité : Administrateur de base de données
    Secteur : Finance

    Informations forums :
    Inscription : Décembre 2005
    Messages : 2 944
    Par défaut
    oui, il faut éditer tes fichiers parceque sqlplus windows ne comprends pas /dev/fs... il faut lui dire C:\blabla

  14. #14
    Membre averti
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    46
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 46
    Par défaut
    Ok, un grand merci pour ton aide!

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

Discussions similaires

  1. Problème SQLPLUS ORACLE
    Par Idsaw dans le forum Sql*Plus
    Réponses: 5
    Dernier message: 08/02/2007, 10h24
  2. problème commande shell compilation auto
    Par ludovic85 dans le forum C#
    Réponses: 1
    Dernier message: 07/02/2007, 12h28
  3. Problème commandes shell-trop d'arguments
    Par SuperCed dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 22/12/2006, 12h57
  4. Problème avec SHELL
    Par Jasgui dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 19/09/2006, 19h14
  5. []Problème de SHELL
    Par laurentfrancis dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 08/10/2005, 19h41

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