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.