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;