|
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.
|
Copyright © 1996, 1998, 1999, 2000 Andreas Borchert, in HTML konvertiert am 07.02.2000 |