On Fri, 2010-06-04 at 16:42 -0400, John Scoles wrote: > Had a quick look at it today give it a try agian but this time make > sure you have autocommit off > > > AutoCommit=>1
This turns it on, so you want it on or off? > > on the connection method > > cheers > > On Fri, May 21, 2010 at 11:20 AM, John Scoles <sco...@pythian.com> > wrote: > Ok I guess it is back to square 1 on this. > > Unfortunetly no time to look at it today > > Will write up a small test script and see if my patch actually > does anything > > You may hear from me in a few days > > Cheers > John > > > > > Scott T. Hildreth wrote: > On Fri, 2010-05-21 at 09:23 +0100, Martin Evans wrote: > > John Scoles wrote: > > Ok I have patched up a solution I > think will work across the board and > you > can find it here > > > http://svn.perl.org/modules/dbd-oracle/branches/oci_batch > > here are the details > > ora_oci_batch > > For 11g users you may encounter an > error while using the execute_array in > that it does not > return a full list of tuples. This > seems to be a result in that a > statement > can only > have 'LOG ERRORS' or 'SAVE > EXCEPTIONS'set, By setting this flag > to a value > should stop this > problem error. > > For convenience I have added support > for a 'ORA_DBD_OCI_BATCH' > environment variable that you can use > at the OS level to set this > value. It can also be set as an > attribute on both the Connect and > Prepare. > > Unfortunately I can't test it (do not > have an 11g box yet) so It will stay > in the above branch until it is tested > hopefully by you Scott > > Cheers > John Scoles > > -- > See Pythian's Alex Gorbachev, > co-author of "Expert Oracle Practices" > at NoCOUG Spring Conference May 20th. > Details, interview & book chapter in > the May NoCOUG Journal: > http://bit.ly/alexnocoug > > > I'm not sure why I seem to have ignored your > mail but I just noticed it > again - sorry for the delay. > > I checked out the branch you mentioned and > > export ORA_DBD_OCI_BATCH=1 > > but 26exe_array still seems to fail for me: > > > Sorry John, I meant to test earlier but its been a > busy week. > > Fails for me as well. > > DB<7> x $dbh->{'ora_oci_batch'} > 0 1 > DB<8> n > main::(../tst_exec_ary.pl:13): my $sth = > $dbh->prepare("Insert into TestArray Values(?, ?, ?) > LOG ERRORS INTO ERR_TESTARRAY"); > DB<8> n > main::(../tst_exec_ary.pl:15): > $sth->bind_param_array(1, [ qw(One Uno Il oNe) ]); > DB<8> n > main::(../tst_exec_ary.pl:16): > $sth->bind_param_array(2, [ 2, 22, 0, 222 ]); > DB<8> n > main::(../tst_exec_ary.pl:17): > $sth->bind_param_array(3, [ qw(20070101 20080101 > 20090101 20060101) ]); > DB<8> n > main::(../tst_exec_ary.pl:21): > $sth->execute_array({}); > DB<8> n > DBD::Oracle::st execute_array failed: ORA-38909: DML > Error logging is not supported with BATCH ERROR mode > (DBD ERROR: OCIStmtExecute) [for Statement "Insert > into TestArray Values(?, ?, ?) LOG ERRORS INTO > ERR_TESTARRAY"] at ../tst_exec_ary.pl line 21. > at ../tst_exec_ary.pl line 21 > > > mar...@bragi:~/svn/dbd-oracle/branches/oci_batch$ > prove -vb t/26exe_array.t > t/26exe_array.t .. > 1..17 > ok 1 - use DBI; > ok 2 - The object isa DBI::db > ok 3 - ... execute_array should return true > ok 4 - ... we should have 10 tuple_status > ok 5 - ... execute_array should return false > ok 6 - ... we should have 10 tuple_status > ok 7 - ... we should get text > ok 8 - ... we should get -1 > ok 9 - ... we should get a warning > ok 10 - ... execute_for_fetch should return > true > not ok 11 - ... we should have 19 tuple_status > > # Failed test '... we should have 19 > tuple_status' > # at t/26exe_array.t line 128. > # got: 10 > # expected: 19 > ok 12 - ... execute_array should return flase > ok 13 - ... we should have 10 tuple_status > not ok 14 - ... we should have 48 rows > > # Failed test '... we should have 48 rows' > # at t/26exe_array.t line 154. > # got: 30 > # expected: 48 > ok 15 - ... execute_array should return true > ok 16 - ... \#5 should be a warning > ok 17 - ... we should have 10 tuple_status > # Looks like you failed 2 tests of 17. > Dubious, test returned 2 (wstat 512, 0x200) > Failed 2/17 subtests > > Test Summary Report > ------------------- > t/26exe_array.t (Wstat: 512 Tests: 17 Failed: > 2) > Failed tests: 11, 14 > Non-zero exit status: 2 > Files=1, Tests=17, 0 wallclock secs ( 0.02 > usr 0.01 sys + 0.05 cusr > 0.01 csys = 0.09 CPU) > Result: FAIL > > This was using oracle 11.1 server and 11.1 > instant client. > > If I've not set the right thing let me know. > > Martin > > > > > > > > -- > Catch Alex & Sheeri at ODTUG/Kaleidoscope - June 27 - July 1. > Hear Sheeri speak or email eve...@pythian.com to meet with Pythian.