Webbasierte Adressdatenbank
AdressDB die Vierte
Das Script gibt es hier, einfach anklicken,
und als adress_4.pl abspeichern.
Vorbereitungen
Diese Anwendung wurde mit Windows NT 4.0 Servicepack 5 und Access 95 mit einem
Apache Webserver getestet.
Wir benötigen noch das Modul DBD::ODBC (DBD-ODBC.zip) von
ActiveState und installiert wie in
Installation von Perl Modulen beschrieben.
Sofern kein ODBC-Treiber
(Open Data Base Connectivity) für Windows vorhanden ist
findet man den bei Microsoft. Installieren sollte man aber nicht alles, sondern man sollte Custom-Setup wählen und
nur die Komponenten ODBC, OLE und ODBC Treiber für Microsoft Access installieren. Ansonsten werden ca 2 MB zusätzliche
Software installiert, die wir nicht benötigen. Jetzt müssen wir nur noch mit dem ODBC Data
Source Administrator (findet man unter Systemsteuerung) einen System DSN (Data Source Name) erstellen. Man erhält dann
folgendes Bild:
Dazu wählen wir die Karteikarte "System DSN" und fügen einen Eintrag mit "ADD" hinzu, als Treiber wählen wir natürlich
Microsoft Access Driver (*.mdb)
. Als " Data Source Name"
wählen wir adressbook
, und unter "Database" geben wir den Pfad zu unserer
Datenbank an, die wir entweder vorher leer angelegt haben, oder hier neu anlegen. Damit sollte alles notwendige
funktioniern. Eine Initialisierung der Datenbank ist wieder mit adress_4.pl?init=1 möglich.
Eine Darstellung der Bildschirmausgabe spare ich mir, da hier keine Veränderungen gegenüber den Versionen 1, 2 und 3 entstanden sind.
Wie funktioniert's?
Das Script funktioniert absolut analog der dritten Version.
Die Änderungen gegenüber adress_3.pl sind minimal. Wir müssen nur die Variablen, welche für das Ansprechen
der Access Datenbank verwendet werden anpassen.
Es werden im folgenden nur die geänderten Passagen des Scripts vorgestellt:
25: my $db_type = 'mysql'; 26: my $port = 0; 27: my $hostname = "localhost"; 28: my $db_name = 'adressbuch'; 29: my $DB_DSN = "DBI:$db_type:$db_name:$hostname:$port:"; 30: my $DB_USER = "perl"; 31: my $DB_PASSWD = ""; 32: my $DB_Table = 'addressbook'; wird ersetzt durch: 24: my ($dbh); 25: my $dsn = 'adressbook'; 26: my $user = ''; 27: my $pass = ''; 28: my $dbd = 'ODBC'; 29: my $DB_Table = 'addressbook'; ---- 41: my $dbh = DBI->connect($DB_DSN, $DB_USER, $DB_PASSWD, 42: { RaiseError => 1 }); wird ersetzt durch: 38: $dbh = DBI->connect($dsn, $user, $pass, $dbd, { RaiseError => 1}) 39: || die "Cannot connect to $dsn: $DBI::errstr";
Literaturhinweise:
- O Reilly Perl Module Doku
- perldoc CGI
Zurück zum Anfang dieses Projekts.