IBM DB2 stored procedure calls

Posted by Jason Goh on 06-Mar-2017 07:30

Hi

I'm doing a POC with the Progress DataDirect drivers for my organisation and am having trouble calling some of our legacy stored procedures in DB2 (SYSIBM.VERSION = DSN10015 = DB2 for Z/OS 10.1) using the DataDirect jdbc drivers.

java.sql.SQLNonTransientConnectionException: [DataDirect][DB2 JDBC Driver]No more data available to read.

at com.ddtek.jdbc.db2base.ddcp.b(Unknown Source)

at com.ddtek.jdbc.db2base.ddcp.a(Unknown Source)

at com.ddtek.jdbc.db2base.ddco.b(Unknown Source)

at com.ddtek.jdbc.db2base.ddco.a(Unknown Source)

at com.ddtek.jdbc.db2base.ddco.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddp.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddr.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddj.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddp.b(Unknown Source)

at com.ddtek.jdbc.db2.ddh.i(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.e(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.a(Unknown Source)

at com.ddtek.jdbc.db2base.dddw.a(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.x(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.t(Unknown Source)

at com.ddtek.jdbc.db2base.dddw.execute(Unknown Source)

at com.ddtek.jdbcx.db2base.ddl.execute(Unknown Source)

at com.experian.esb.db2.GenericDb2Progress.callProcedure(GenericDb2Progress.java:137)

at com.experian.esb.db2.GenericDb2Progress.main(GenericDb2Progress.java:105)

java.sql.SQLNonTransientConnectionException: [DataDirect][DB2 JDBC Driver]No more data available to read.

at com.ddtek.jdbc.db2base.ddcp.b(Unknown Source) at com.ddtek.jdbc.db2base.ddcp.a(Unknown Source)

at com.ddtek.jdbc.db2base.ddco.b(Unknown Source) at com.ddtek.jdbc.db2base.ddco.a(Unknown Source)

at com.ddtek.jdbc.db2base.ddco.a(Unknown Source) at com.ddtek.jdbc.db2.drda.ddp.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddr.a(Unknown Source) at com.ddtek.jdbc.db2.drda.ddj.a(Unknown Source)

at com.ddtek.jdbc.db2.drda.ddp.b(Unknown Source) at com.ddtek.jdbc.db2.ddh.i(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.e(Unknown Source) at com.ddtek.jdbc.db2base.dde0.a(Unknown Source)

at com.ddtek.jdbc.db2base.dddw.a(Unknown Source) at com.ddtek.jdbc.db2base.dde0.x(Unknown Source)

at com.ddtek.jdbc.db2base.dde0.t(Unknown Source) at com.ddtek.jdbc.db2base.dddw.execute(Unknown Source)

Connection released at com.ddtek.jdbcx.db2base.ddl.execute(Unknown Source)

at com.experian.esb.db2.GenericDb2Progress.callProcedure(GenericDb2Progress.java:137)

at com.experian.esb.db2.GenericDb2Progress.main(GenericDb2Progress.java:105)

 

It appears to affect stored procedures that return multiple ResultSets in a single call and if I switch over to the IBM type 4 driver the call works fine.  Am I doing something silly or do we need to change something in the stored procedure definitions to gracefully handle multiple ResultSets/cursors?

Suggestions would be much appreciated!

Regards,

Jason

All Replies

Posted by Avadhoot Kulkarni on 07-Mar-2017 01:14

Hi Jason,
 
What version of the DataDirect JDBC driver are you using?
 
"No more data to read" usually suggest a driver bug, But it could be already fixed in the latest build of the driver.
I would suggest you to please open a support case for this.
 
Thanks and Regards,
Avadhoot
 

Posted by Jason Goh on 08-Mar-2017 11:01

[DataDirect][DB2 JDBC Driver]Driver Version: 5.1.4.000179 (F000309.U000132) But I am progressing this with support now... Thanks

This thread is closed