Perl et SQL
gothen
-
gothen -
gothen -
Bonjour,
Je voudrais savoir comment faire pour récuperer via sqlplus le résultat d'une requete SQL.
Je sais le faire en utilisant un fichier tmp_spool...aprés je dois parser ce fichier pr trouver le résultat de la requete.
Comment avoir directement le résultat?
Mon code avec le fichier de sortie tmp_spool:
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2|");
print "sqlplus $db_user/$db_pass$D1KEU2";
print SQLPLUS "spool $tmp_spool\n";
print SQLPLUS ("select status from sc_job_tco where job_id=24;\n");
print "select status from sc_job_tco where job_id=24;\n"
print SQLPLUS "spool off\n";
print SQLPLUS "quit\n";
close(SQLPLUS);
Le but étant de récupere directement dans une variable le status de la requete "select status from sc_job_tco where job_id=24;"
Je ne veux pas utiliser le module DBI.
Merci d'avance pr ceux qui pourront m'orienter.
Je voudrais savoir comment faire pour récuperer via sqlplus le résultat d'une requete SQL.
Je sais le faire en utilisant un fichier tmp_spool...aprés je dois parser ce fichier pr trouver le résultat de la requete.
Comment avoir directement le résultat?
Mon code avec le fichier de sortie tmp_spool:
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2|");
print "sqlplus $db_user/$db_pass$D1KEU2";
print SQLPLUS "spool $tmp_spool\n";
print SQLPLUS ("select status from sc_job_tco where job_id=24;\n");
print "select status from sc_job_tco where job_id=24;\n"
print SQLPLUS "spool off\n";
print SQLPLUS "quit\n";
close(SQLPLUS);
Le but étant de récupere directement dans une variable le status de la requete "select status from sc_job_tco where job_id=24;"
Je ne veux pas utiliser le module DBI.
Merci d'avance pr ceux qui pourront m'orienter.
A voir également:
- Perl et SQL
- Logiciel sql - Télécharger - Bases de données
- Requete sql pix - Forum PHP
- Denon perl pro test - Accueil - Audio
- Additions et multiplication dans des requêtes SQL ✓ - Forum MySQL
- Sql query download - Télécharger - Gestion de données
4 réponses
Salut,
Tu dit que Je sais le faire en utilisant un fichier tmp_spool... et ensuite aprés je dois parser ce fichier pr trouver le résultat de la requete.
Donc ton prolbème est où? D'après ce que je comprends c'est plutôt dans le parsing que dans la récuperation tant que tu utilise tmp_spool?
Et pour le parsing tu n'as pas besoin de DBI.
En bref je n'ai pas bien compris où et ton problème. Merci.
lami20j
Tu dit que Je sais le faire en utilisant un fichier tmp_spool... et ensuite aprés je dois parser ce fichier pr trouver le résultat de la requete.
Donc ton prolbème est où? D'après ce que je comprends c'est plutôt dans le parsing que dans la récuperation tant que tu utilise tmp_spool?
Et pour le parsing tu n'as pas besoin de DBI.
En bref je n'ai pas bien compris où et ton problème. Merci.
lami20j
salut!
je sais faire du sqlplus dans un fichier comme sur l'exemple dans tmp_spool...mon probléme c'est que je voudrais faire du sqlplus sans passer par un fichier:
executer la requete et récuperer la ou les valeurs que me retourne ma requete dans une variable ou un tableau.Est-ce possible?
Sans quoi je serai oblié de travailler avec le fichier tmp_spool.
je sais faire du sqlplus dans un fichier comme sur l'exemple dans tmp_spool...mon probléme c'est que je voudrais faire du sqlplus sans passer par un fichier:
executer la requete et récuperer la ou les valeurs que me retourne ma requete dans une variable ou un tableau.Est-ce possible?
Sans quoi je serai oblié de travailler avec le fichier tmp_spool.
salut!
je sais faire du sqlplus dans un fichier comme sur l'exemple dans tmp_spool...mon probléme c'est que je voudrais faire du sqlplus sans passer par un fichier:
executer la requete et récuperer la ou les valeurs que me retourne ma requete dans une variable ou un tableau.Est-ce possible?
Sans quoi je serai oblié de travailler avec le fichier tmp_spool.
je sais faire du sqlplus dans un fichier comme sur l'exemple dans tmp_spool...mon probléme c'est que je voudrais faire du sqlplus sans passer par un fichier:
executer la requete et récuperer la ou les valeurs que me retourne ma requete dans une variable ou un tableau.Est-ce possible?
Sans quoi je serai oblié de travailler avec le fichier tmp_spool.
Salut,
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2|");
Tu as ouvert un handle en lecture.
Essaie d'utiliser le mode slurp
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2|");
Tu as ouvert un handle en lecture.
Essaie d'utiliser le mode slurp
undef $/; my $var = <SQLPLUQ>; # ensuite traitement de $varOu avec une boucle
while ( <SQLPLUS> ) { #traitement }lami20j
Merci pour ta réponse...je suis pas hyper doué mais voila ce que j'ai essayé:
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2 \@temp.sql|");
undef $/;
my $var = <SQLPLUS>;
print "le resultat est $var";
Sachant que dans tem.sql, le résultat de la requete(select status from sc_job_tco where job_id=24;) est 'D'
Merci lamij20
open(SQLPLUS,"|sqlplus $db_user/$db_pass$D1KEU2 \@temp.sql|");
undef $/;
my $var = <SQLPLUS>;
print "le resultat est $var";
Sachant que dans tem.sql, le résultat de la requete(select status from sc_job_tco where job_id=24;) est 'D'
Merci lamij20