Ravi Malghan wrote:
> Hi: I have a script which connects to a database when it starts up
>
> $dbh = DBI->connect("dbi:Pg:dbname=$dbname;host=$host;port=$port;",
> "$username", "$password", {AutoCommit => 1});
>
> followed by a while loop which runs a query for this connection at 60 second
> intervals. If the database goes down for some reason, I want the script to
> try reconnecting to the database. How do I figure out within the while look
> if the database connection is still valid. If tried using the $dbh variable
> (if ($dbh)then connection is fin. else connection is bad). That doesn't seem
> to work. How do I figure out if the $dbh connection has been lost within the
> while loop?
I suggest you connect to the database every time around the loop instead of just
once before it. If you use the connect_cached method instead of connect then the
connection will be verified and used again if it is still valid.
HTH,
Rob
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/