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. Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com
