Schrift
[thread]6117[/thread]

Überprüfen ob Verbindung zur Datenbank besteht

Leser: 1


<< >> 7 Einträge, 1 Seite
Gast Gast
 2004-03-04 14:55
#80572 #80572
Hallo

Ich wollte mal fragen, wie ich überprüfen kann wie ich am einfachsten Überprüfen kann ob ich in der Variablen z.B.

$dbh

Eine Verbindung zur Datenbank besteht?

Wie mache ich das am besten und vor allem am wenigsten Serverbelastend?


Danke
Robby
 2004-03-04 14:59
#80573 #80573
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
so:

Code: (dl )
1
2
3
4
5
6
7
8
9
my $connection_check = DBI->connect( 'DBI:Oracle:'.$current_db, $current_user, $current_password, { RaiseError=> 0, PrintError => 0, AutoCommit => 0 } );
if ( defined $connection_check)
{
print "Verbindung OK";
}
else
{
print "Verbindung NICHT OK";
}
Kaum macht man es richtig - schon funktioniert es!
renee
 2004-03-04 15:08
#80574 #80574
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Noch einfacher machst Du das so:
Code: (dl )
my $dbh = DBI->connect( 'DBI:Oracle:'.$current_db, $current_user, $current_password, { RaiseError=> 0, PrintError => 0, AutoCommit => 0 } ) or print "Keine Verbindung zur Datenbank";
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Robby
 2004-03-04 15:21
#80575 #80575
User since
2003-08-11
409 Artikel
BenutzerIn
[default_avatar]
[quote=renee,04.03.2004, 14:08]Noch einfacher machst Du das so[/quote]
:p ...hast ja recht... :cool:
Kaum macht man es richtig - schon funktioniert es!
ppm1
 2004-03-04 20:10
#80576 #80576
User since
2003-09-14
142 Artikel
BenutzerIn
[default_avatar]
Ich möchte ja nicht ausprobieren ob es geklappt hat, sondern ob ich es irgendwo noch offen habe

Wenn ich irgendwo im Skript bin.

Geht das auch mit dem if (defined $dbh) ?
Strat
 2004-03-04 20:21
#80577 #80577
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
wenn ein script laenger laeuft (z.B. als daemon), kann es schon mal passieren, dass die datenbankverbindung abreisst. dafuer existiert eine Methode $ergebnis = $dbh->ping; mit der man ueberpruefen kann, ob die verbindung noch "da" ist.

Mit defined($dbh) kannst du nur ueberpruefen, ob Perl glaubt, dass $dbh noch was enthaelt (also ob Perl glaubt, dass eine Verbindung besteht, was nicht unbedingt stimmen muss, deshalb $dbh->ping() )\n\n

<!--EDIT|Strat|1078424590-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
Crian
 2004-03-08 11:41
#80578 #80578
User since
2003-08-04
5872 Artikel
ModeratorIn
[Homepage]
user image
Das schreit nach if (defined($dbh) and $dbh->ping()) {...}
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
<< >> 7 Einträge, 1 Seite



View all threads created 2004-03-04 14:55.