+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Inscrit en
    septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 8
    Points : 1
    Points
    1

    Par défaut EOF non détecté sur appel sqlplus

    Bonjour,
    J'ai effectué de nombreuses recherches sur le web avant d'arriver sur developpez ( recherches également ici mais sans succès ).
    Voici mon problème:
    un serveur Windows 2000 SP4 dispose de perl ( sans le module DBD::Oracle ) et de cygwin.
    Je souhaite interroger le base Oracle via sqlplus mais je bute sur le message d'erreur suivant :
    "<< était inattendu"
    Voici mon code :
    $retour_nodbd = qx { sqlplus -s system/password\@MABASE <<EOF
    select sysdate from dual;
    exit;
    EOF };
    La commande suivante fonctionne :
    $retour_nodbd=`tnsping MABASE`;
    Cela fonctionne aussi pour :
    $retour_nodbd=`sqlplus system\/password\@MABASE \@mon_sql`;
    Le problème semble provenir des caractères "<<".
    Comment puis-je procéder ?

    Merci

    Jean-michel, Nemours

  2. #2
    Invité de passage
    Inscrit en
    septembre 2010
    Messages
    8
    Détails du profil
    Informations forums :
    Inscription : septembre 2010
    Messages : 8
    Points : 1
    Points
    1

    Par défaut echo + pipe vers sqlplus

    Bonjour,

    L'url suivante donne la solution :
    http://damir-vadas.blogspot.fr/2010/11/how-to-redirect-sqlplus-result-in.html
    On a donc procédé ainsi :

    $my_sql="select sysdate from dual"; my $request="echo $my_sql\|sqlplus system/password"; $result=qx($request);
    Merci

    Jean-michel

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

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •