Haben wir die ensprechenden Perl Module erst einmal am Rechner installiert, können wir das erste Testprogramm schreiben, um zu sehen, wie Datenbankverbindungen aufgebaut werden können.
Der Aufbau der Verbindung erfolgt durch den Aufruf der Methode connect, die vom DBI-Modul in dieser Form vorgeschrieben ist:
$dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$host;port=$port;" .
"options=$options;tty=$tty", "$username", "$password");
Der Aufbau des Connect-String selbst unterscheidet sich erheblich vom Aufbau der üblicherweise verwendeten C-Style Connect Strings. Wie Sie sehen können, enthält der erste Parameter nicht nur den Namen der Datenbank, den Host und den zu verwendenden TCP Port - auch der Typ der Datenbank ist anzugeben, um sicherzustellen, dass die richtige Datenbank für den Verbindungsaufbau herangezogen wird.
Sehen wir uns also im Rahmen eines praktischen Beispieles an, wie eine Verbindung aufgebaut werden kann:
#!/usr/bin/perl
use strict;
use DBD::Pg;
my $dbh;
$dbh = DBI->connect("dbi:Pg:dbname=test;host=localhost;port=5499",
"hs", "");
if (!$dbh)
{
print "error: $dbh->errstr\n";
}
In unserem Fall versuchen wir uns zu einer Datenbank zu verbinden, die jedoch nicht auf Port 5499 hört. Das führt zu einem Fehler, den wir aus $dbh->errstr auslesen:
[hs@hp perl]$ ./main_01.pl
DBI connect('dbname=test;host=localhost;port=5432','hs',...) failed: konnte
nicht mit dem Server verbinden: xxxx at ./main_01.pl line 8
error: ->errstr
Sind die Verbindungsparameter korrekt gesetzt, sollte keine Meldung ausgegeben werden.