Re: DBD::Oracle 11gr2 & ORA-38909

Martin Evans <[email protected]>
Newsgroups gmane.comp.lang.perl.modules.dbi.sybase.devel
Organization Easysoft Limited
Message-ID <[email protected]>
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:

martin@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
-- 
Martin J. Evans
Easysoft Limited
http://www.easysoft.com
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.