I am having some severe difficulties with multiple DBI objects. It seems
that it is not possible to keep two connections alive and functional at
the same time if both use Oracle but with different userids. Ex:

$dbh1 = DBI->connect("dbi:Oracle:host=foo:sid=bar","snark","snarkpw");
$dbh2 = DBI->connect("dbi:Oracle:host=foo:sid=bar","jubjub","jubjubpw");

$sth1 = $dbh1->prepare("select zizzer,foo from blargh where
zizzer > 1");
$sth1->execute;
while(@f = $sth1->fetchrow_array)
{
  my($zizzer,$foo) = @f;
  $dbh2->do ("update yawp set zizzer=?,foo=?",$zizzer,$foo);
}

I'm perpetually getting "ORA-03113 end-of-file on communication channel"
on the "do" when I try to use this. Any hints on how to approach this
problem, other than rebuilding a shiny new connection each time I need
the other access? The reason for it is that I have two levels of
security, and one user should really only be used for the update.

I have also seen trouble when mixing MySQL db handles with Oracle db
handles (queries complete too early sometimes).

Any ideas?

--
          http://www.pricegrabber.com | Dog is my co-pilot.



Reply via email to