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 - 2003 Andreas Borchert, in HTML konvertiert am 01.10.2003