Avec Oracle10g , Perl vient préconfiguré. Il est d’ailleurs utilisé par les agents Enterprise Manager, en mode « Database control » ou « Grid Control ». Voici un exemple simple de fichier Perl qui accède au schéma hr d’une base de données dont l’alias est « blue » :
#!/bin/perl
use strict;
use DBI;
my $dbh = DBI->connect(‘DBI:Oracle:blue’, ‘hr’, ‘hr’,)
or die « Impossible de se connecter à la base de données: » . DBI->errstr;
my $sth = $dbh->prepare(‘select first_name, last_name from employees’)
or die « Impossible de créer le statement: » . $dbh->errstr;
my @data;
$sth->execute()
or die « Impossible d’exécuter la requête: » . $sth->errstr;
while (@data = $sth->fetchrow_array()) {
my $fname = $data[0];
my $lname = $data[1];
print « tnom: $fname $lname n »;
}
$sth->finish;
$dbh->disconnect;
Quelques remarques
- Cet exemple a été testé sur une base de données 10.2.0.2 sous Linux
- Pour les besoins de l’exemple, les variables qui suivent ont été configurées :
- ORACLE_HOME=/u01/oracle/product/10.2.0/db_1
- PATH=$ORACLE_HOME/bin:$ORACLE_HOME/perl/bin:$PATH
- PERL5LIB=$ORACLE_HOME/perl/lib/5.8.3:$ORACLE_HOME/perl/lib/site_perl/5.8.3
- LD_LIBRARY_PATH=$ORACLE_HOME/lib
- Pour que le programme « perl » soit exécuté directement avec le script, il faut créer un lien symbolique de /bin/perl vers $ORACLE_HOME/perl/bin/perl (ça ne fonctionnera que sur Unix ou Linux)