Eröffnen von Tabellen II

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]

TBD/DBI.pm
my $key = "$database/$login/$auth";

my $db;
if (defined($connections{$key})) {
   ++ $connections{$key}->{'refs'};
   $db = $connections{$key}->{'handle'};
} else {
   $db = DBI->connect($database, $login, $auth);
   croak "unable to connect to database $database"
      unless defined $db;
   $connections{$key} = {
      'handle' => $db,
      'refs' => 1,
   };
   $db->{'RaiseError'} = 1;
}

*TBD::DBI unterhält mit %connections ein assoziatives Array für alle offenen Datenbank-Verbindungen, wobei als Schlüssel die Parameter für DBI->connect dienen.
 
*Damit ist es möglich, daß sich mehrere Tabellen eine Datenbankverbindung teilen.
 
*Um zu entscheiden, wann die Datenbank-Verbindung wieder geschlossen werden kann, gibt es einen Zähler für die Anzahl der Nutzungen.
 
*Innerhalb von initialize1 bei TBD::DBI wird dann entweder die vorhandene Verbindung übernommen oder eine neu eröffnet und in %connections eingetragen.
 

 [Vorheriges Kapitel]  [Vorherige Seite]  [Inhaltsverzeichnis]  [Nächste Seite]  [Nächstes Kapitel]
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000