Hi
I have created a UDF which sits in db2 database.
I want to call that UDF from within a java program and capture the
result.
The UDF takes a string parameter and returns a double value.
This is the code I came up with but it doesnt work and I dont know
whats wrong with it.
CallableStateme nt cstmt = DB2Connection.g etConnection(). prepareCall("{?
= CALL HEALTHCAREDB.RI SK_EQUATION_1(? )}");
cstmt.registerO utParameter(1,T ypes.DOUBLE);
cstmt.setString (2, rs.getString("P ATIENT_ID"));
cstmt.execute() ;
Here is the error message:
com.ibm.db2.jcc .a.SqlException : DB2 SQL error: SQLCODE: -440, SQLSTATE:
42884, SQLERRMC: HEALTHCAREDB.RI SK_EQUATION_1;P ROCEDURE
at com.ibm.db2.jcc .a.rf.e(rf.java :1680)
at com.ibm.db2.jcc .a.rf.a(rf.java :1239)
at com.ibm.db2.jcc .b.jb.h(jb.java :139)
at com.ibm.db2.jcc .b.jb.d(jb.java :71)
at com.ibm.db2.jcc .b.w.d(w.java:5 4)
at com.ibm.db2.jcc .b.cc.j(cc.java :207)
at com.ibm.db2.jcc .a.rf.o(rf.java :1236)
at com.ibm.db2.jcc .a.sf.ib(sf.jav a:1805)
at com.ibm.db2.jcc .a.sf.d(sf.java :2264)
at com.ibm.db2.jcc .a.tf.Z(tf.java :159)
at com.ibm.db2.jcc .a.tf.execute(t f.java:142)
at Test.main(Test. java:24)
Could you please tell me whats wrong with teh java code?
Thanks
Mahesh