next up previous contents
Next: Gestione CGI del Perl Up: Interfaccia WWW - DBMS Previous: Interfaccia WWW - DBMS   Contents

Accesso ad Oracle7

Uno degli usi più interessanti della tecnologia Web è senz'altro la possibilità di fornire una interfaccia aperta e indipendente dalla piattaforma alle informazioni memorizzate in una base di dati. Usare un database di fascia alta come ad esempio Oracle o Informix, rappresenta la migliore soluzione per lo sviluppo sia del commercio elettronico su Internet, sia dei sistemi informativi aziendali in una Extranet. Per questo, il Perl, uno dei linguaggi più diffusi nell'ambito della programmazione su Internet, mette a disposizione una libreria per l'accesso ai DBMS.

Tale meccanismo implementa un API denominata DBI 13 che crea un livello di astrazione tra il driver del motore relazionale e le primitive utilizzabili, rendendo non più traumatiche le fasi di porting delle applicazioni da un DBMS ad un altro. Il supporto è implementato mediante l'uso di driver denominati DBD 14.

Il codice perl che realizza la connessione e l'interrogazione ad Oracle7 può essere così schematizzato:

# Inizializziamo le variabili usate per la connessione
my $dbase  = "apollo"; # l'istanza del database
my $user   = "utente_Oracle";
my $passwd = "password_Oracle";
my $dbtype = "Oracle"; # specifica quale DBD caricare

# Apriamo la connesione ad Oracle
my $dbh = DBI->connect($dbase, $user, $passwd, $dbtype);

[...]
Codice di acquisizione e costruzione della query SQL dal browser
[...]

# Preparazione ed esecuzione 
# (Supponiamo che in $sqlQuery ci sia la query)
my $sth = $dbh->prepare($sqlQuery);
my $rc  = $sth->execute;

# A questo punto possiamo estrarre le tuple tramite la funzione 
# fetchrow e impaginare in HTML per restituire l'output

# Chiusura della connesione
$sth->finish;



Mirko Manea
2000-05-07