Perrin is right. But fundamentally, I'd say that you're confusing 'local' and 'my' variable scoping:

   http://www.perlmonks.org/?node_id=94007

 -Jim

On Fri, 31 May 2013, Perrin Harkins wrote:

Try an explicit disconnect() call.
- Perrin


On Thu, May 30, 2013 at 7:46 PM, Xinhuan Zheng <xzh...@christianbook.com>
wrote:
      The db handle is declared local and once it's out of scope, the
      destroy
      call will disconnect. But it appears even though variable is out
      of scope,
      we still get that error. Don't know why.
      - xinhuan

      On 5/30/13 8:31 AM, "Jim Schueler" <jschue...@eloquency.com>
      wrote:

      >Did this solve your problem?
      >
      >  -Jim
      >
      >On Wed, 29 May 2013, Perrin Harkins wrote:
      >
      >> Hi,
      >> Apache::DBI is supposed to skip caching if you connect during
      startup.
      >>You
      >> should just need to disconnect your database handle after you
      finish
      >>with
      >> it.  It sounds like you're opening it and then leaving it
      open.
      >>
      >> - Perrin
      >>
      >>
      >> On Wed, May 29, 2013 at 3:24 PM, Xinhuan Zheng
      >><xzh...@christianbook.com>
      >> wrote:
      >>       Hi,
      >>
      >> I have apache 2.2.23 statically compiled with mod_perl2
      (prefork).
      >> perl binary is 5.10.1. In startup.pl file there is call
      >> Apache::DBI->connect_on_init.
      >>
      >> <code>
      >> use Apache::DBI;
      >> Apache::DBI->connect_on_init( $DB_DRIVER, $DB_USER,
      $DB_PASSWORD );
      >>
      >> use DBI;
      >> </code>
      >>
      >> I need to call DBI->connect to load some data during server
      startup
      >> stage. There is problem with this setup. Whenever apachectl
      >> startup/shutdown, we got connection error like this:
      >>
      >> DBD::Oracle::db DESTROY failed: ORA-03135: connection lost
      contact
      >> Process ID: 0
      >> Session ID: 3252 Serial number: 15131 (DBD ERROR:
      OCISessionEnd) at
      >> /usr/local/lib/perl5/site_perl/5.10.1/Apache/DBI.pm line 228.
      >>
      >> I am trying to fix this error. I think it's related to
      DBI->connect
      >> in startup.pl. My question is:
      >>  1. How do I accomplish loading data into database during
      server
      >>     startup using Apache::DBI?
      >>  2. Once data is loaded during server startup, how do I
      safely destroy
      >>     this database handle but not affect the children
      instantiate their
      >>     database handles?
      >> Thanks in advance,
      >>
      >> Xinhuan
      >>
      >>
      >>



Reply via email to