On Oct 22, 2008, at 10:48 AM, Perrin Harkins wrote:

On Wed, Oct 22, 2008 at 1:33 PM, Benjamin Hitz <[EMAIL PROTECTED] > wrote:
It basically calls DBI->connect_cached("dbi:Oracle:sdev2", $user, $pass, {
RaiseError=>1, AutoCommit=>0, private_cachekey => $0 });

That ought to work.  The connect_cached call should ping the
connection and reconnect if it's stale.  You might want to turn on
DBI_TRACE to figure out why it isn't doing that.  This used to be
referred to as "the morning bug" on the mod_perl list and usually
happened with DBD drivers that lie about ping (return true when the
handle is not really connected).

Good advice.



Incidentally, I hope you have something in there to catch errors at
the top level of your FastCGI adapter and issue a rollback on any open
database handles.  If you don't, you might leave some partially
completed uncommitted data around that the next request would commit.
Aoache::DBI solves this for mod_perl by doing a rollback on all open
connections after every request, in case the request exited
abnormally.


Thanks for the tip. At this juncture we are only planning to convert the "read only" interfaces to FCGI. In our system we have maybe 10 users who are allowed to commit, and 1,000s that just read.

On Oct 22, 2008, at 10:39 AM, Michael Peters wrote:

It will probably reconnect if the handle isn't there. But not if it goes bad. I don't know for sure since I don't use that plugin. But it's a common problem when dealing with persistant DB connections. If you want to see how mod_perl folks handle, take a look at Apache::DBI. Look at it's connect() method and particularly how it uses ping().


Thanks... I will check it out.

--
Ben Hitz
Senior Scientific Programmer ** Saccharomyces Genome Database ** GO Consortium
Stanford University ** [EMAIL PROTECTED]




#####  CGI::Application community mailing list  ################
##                                                            ##
##  To unsubscribe, or change your message delivery options,  ##
##  visit:  http://www.erlbaum.net/mailman/listinfo/cgiapp    ##
##                                                            ##
##  Web archive:   http://www.erlbaum.net/pipermail/cgiapp/   ##
##  Wiki:          http://cgiapp.erlbaum.net/                 ##
##                                                            ##
################################################################

Reply via email to