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:

ODBC Admin

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:

Zurück zum Anfang dieses Projekts.