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

PL/SQL Oracle Discussion :

PL/SQL - Oracle - Unix


Sujet :

PL/SQL Oracle

  1. #1
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut PL/SQL - Oracle - Unix
    Bonjour,

    Je ne sais pas trop si je m'adresse au bon endroit, mais je tente ma chance.

    J'ai un "petit" problème d'exécution d'un package Oracle via une procédure PL/SQL lancée sous UNIX.

    Voila ce que je lance

    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
    echo "set serveroutput on;" > $SQL
    echo "set linesize 255;" >> $SQL
    echo "set echo off; " >> $SQL
    echo "set termout on;" >> $SQL
    echo "spool $SPOOL;"  >> $SQL
    echo "declare" >> $SQL
    echo "VRESULT VARCHAR2(200);" >> $SQL
    echo "NIDJETON NUMBER;" >> $SQL
    echo "begin" >> $SQL
    echo "PACKAGE.LANCEMENT($PARAM1,'$PARAM2',VRESULT,NIDJETON);"  >> $SQL
    echo "dbms_output.ENABLE(10000);" >> $SQL
    echo "dbms_output.put_line('Jeton :' || NIDJETON);" >> $SQL
    echo "End ;" >> $SQL
    echo "/" >> $SQL
    echo "spool off;" >> $SQL
    echo "quit;"  >> $SQL
     
    sqlplus USER/PWD @$SQL
    Le package appelé tourne bien, mais le traitement detecte les enregistrements à traiter en anomalie.

    Le pb est que lorsque j' exécute cette même procédure sous SQL +, en la tapant ligne par ligne, elle marche correctement (idem en l'executant via TOAD)

    Du coup je ne vois pas trop d'où viens l'erreur, sachant que d'autres shell UNIX lancent du PLSQL sans pb et sur la même BDD.

    Merci à vous pour votre aide !

  2. #2
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    Merci d'utiliser les balises [ code ] et [ quote ] plutôt que des couleurs...

    Pensez également à préciser le code de l'erreur !

  3. #3
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut
    Le code de l'erreur ...

    C'est bien là le problème.
    Le package appelé va lister une série d'enregistrements pour les modifier.
    Si ces enregistrements pour une raison X ou Y présentent une anomalie, le traitement n'a pas lieu et la log m'avertit de l'anomalie.

    Donc, lors d'une exécution via Unix, mon package me ressort mes données en anomalies, alors que si j'execute les lignes PL/SQL une à une, à la mano, sous TOAD ou SQL +, avec les mêmes paramétres mes données sont traitées sans anomalie ...

    Je sais pas si j'ai été clair là

    Donc ma question, existe t'il une variable, une option ou je ne sais quoi qui fait que mon package ne s'execute pas de la même maniere selon d'où il est lancé ?

  4. #4
    McM
    McM est déconnecté
    Expert confirmé

    Homme Profil pro
    Développeur Oracle
    Inscrit en
    Juillet 2003
    Messages
    4 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur Oracle

    Informations forums :
    Inscription : Juillet 2003
    Messages : 4 580
    Billets dans le blog
    4
    Par défaut
    Dans le package, tu peux insérer dans une table Temporaire les paramètres et voir si c'est bon ?

  5. #5
    Membre Expert
    Avatar de LeoAnderson
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 938
    Par défaut
    En général, quand il y a des différences entre PL/SQL et SQL, c'est lié à un problème de droits attribués via un rôle et non directement !

    Après, si aucune exception n'est remontée ni filtrée, vous n'avez plus qu'à débugguer votre code pour comprendre ce qui se passe, mais là, le forum ne vous saura d'aucune aide !

  6. #6
    Candidat au Club
    Inscrit en
    Mars 2003
    Messages
    3
    Détails du profil
    Informations forums :
    Inscription : Mars 2003
    Messages : 3
    Par défaut
    Package modifié, variables récupérées.

    Elles sont conformes à ce que je passe, et le traitement me ressort mes données en tant qu'anomalies.

    Je me doutais que mes paramètres étaient bons, mais il fallait bien le vérifier.

Discussions similaires

  1. Generer du xml via SQL(oracle) avec de l'asp
    Par jpg dans le forum XQUERY/SGBD
    Réponses: 6
    Dernier message: 03/08/2004, 12h36
  2. [SQL ORACLE] Soustraction de deux timestamps
    Par platinum07 dans le forum SQL
    Réponses: 34
    Dernier message: 02/07/2004, 10h42
  3. PL/SQL ORACLE (Record Dans un Varchar2)
    Par argoet dans le forum PL/SQL
    Réponses: 24
    Dernier message: 14/05/2004, 16h06

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