oracle instant client 11.1
But it seems to work now using the 'ora_envhp => 0' attribute. Is there some
penalty performance when using this option ?

On Thu, Feb 19, 2009 at 1:56 PM, <[email protected]> wrote:

> What is the version of the Oracle client you are using?
>
> There is a rather large gap between 1.16 and 1.22 on the way they connect
> especially with the older Oracle clients which could explain his
>
> cheers
> John Scoles
>
> > On Thu, Feb 19, 2009 at 12:33 PM, Martin Evans
> > <[email protected]>wrote:
> >
> >> Karl Forner wrote:
> >>
> >>> I'm  experiencing a very strange problem : in short, I could not
> >>> reconnect
> >>> to a DB using DBI once I successfully connected then failed (with bad
> >>> password for example), IN THAT ORDER.
> >>>
> >>> I made a script reproducing the bug:
> >>> =================
> >>> #!/usr/bin/env perl
> >>> use strict;
> >>> use warnings;
> >>> use DBI;
> >>>
> >>> my $dsn = 'dbi:Oracle:sid=TITI;host=xxx.yyy.zzz.com;port=1521';
> >>> my $user        = 'toto';
> >>> my $password    = $user;
> >>> my $options =  { AutoCommit => 0 };
> >>> my @goodinfo = ($dsn, $user, $password, $options);
> >>> my @badinfo = ($dsn, $user, '', $options);
> >>>
> >>> test(@goodinfo);
> >>> test(@badinfo);
> >>> test(@goodinfo);
> >>> test(@goodinfo);
> >>>
> >>> sub test {
> >>>    my $dbh;
> >>>    eval { $dbh = DBI->connect(@_) };
> >>>    warn "$...@\n" if $@;
> >>>    print $dbh ? "Ok" : "NOK";
> >>>    print "\n";
> >>> }
> >>>
> >>> ========
> >>>
> >>> so I expect to get "OK NOK OK OK".
> >>> But on one computer I get "OK NOK NOK NOK", and on another I get the
> >>> expected stuff (using the same database)
> >>>
> >>> But if I do
> >>> test(@badinfo);
> >>>  test(@goodinfo);
> >>> test(@goodinfo);
> >>>
> >>> I get "NOK OK OK" on both !!!!!!!
> >>>
> >>> Is this a bug ??
> >>>
> >>> Thanks
> >>> Karl Forner
> >>>
> >>> P.S
> >>>
> >>> Here are the configs :
> >>>
> >>> working computer:
> >>> arch: ia64
> >>> OS: Suse ES 9
> >>> perl -v :  v5.8.6
> >>> DBI: 1.607
> >>> DBD::Oracle: 1.16
> >>>
> >>> buggy computer:
> >>> arch: i686
> >>> OS : ubuntu 8.04
> >>> perl -v :  v5.8.8
> >>> DBI: 1.601
> >>> DBD::Oracle: 1.22
> >>>
> >>>
> >> I think if you add add "ora_envhp => 0" to your options it will work.
> >> See the DBD::Oracle pod for an explanation.
> >>
> >
> > Indeed it works, thnak you.
> > I think this is something quite dangerous and difficult to solve, maybe
> it
> > should be a default or clearly explained in the synopsis.
> > Typical use case it testing a list of login/password. Here the connection
> > begins to fail as soon as there is a success followed by a failure, then
> > all
> > subsequent connections fail.
> > Moreover it does not happen with previous version of DBD::Oracle.
> >
> > Thanks again for the answer.
> >
>
>
>

Reply via email to