Help coderanch get a
new server
by contributing to the fundraiser

Su Chikki

Greenhorn
+ Follow
since Feb 06, 2012
Merit badge: grant badges
For More
Cows and Likes
Cows
Total received
In last 30 days
0
Forums and Threads

Recent posts by Su Chikki

hi Shriyans
I'm trying to do a similar thing and facing almost similar issue. My objects are defined in schema level. My stored procedure takes only one object as input and one object as output. The input object has set of Strings and an array of another DB Obj. I'm able to call the stored procedure if I set null for the array in the INput object. I still haven't figured how to set the array in the INput object. I've almost exhausted the forum discussions on this topic but nobody have talked about my situation. Please note, I'm not setting the array directly to the CallableStatement as you do but I want to set it to a SQLData object and send that to the stored procedure. If anybody can just show how it can be done it would be great. Or atleast a small nudge in that direction is all I need.

P.S: Here's my original post on the above question: https://coderanch.com/t/566654/JDBC/java/Stored-Procedure-Java

Thanks
S Chikki
Thanks for the link. I've followed this sample, along with many I found, to implement what I have now. As you can see, I'm doing the exact same thing for creating the oracle.sql.ARRAY. The difference in the example link is that, they set the created ARRAY directly to the CallableStatement to be executed. In my case, I have to set it as part of an Object which will be the only input to the stored procedure. So my question is, how can I set the Java Array to SqlType array in an Object which implements SQLData? I've included the code in my question.
Hi guys
I need help with the following issue. I'm writing a web application which have to call a stored procedure using JDBC with IN object and receive output as OUT object. Here is the jist of the objects I have.

TestPkg in Oracle and the stored procedure I'm going to call from Java:



TESTDATA_IN_OBJ



ARR_OBJ_1_NT

ARR_OBJ_1_OBJ



TestDataINObj.java:




ArrObj1NT.java:


TestDataINObjConverter.java:

Now, I have the following code to send input to the stored procedure. I've used SQLData to send Java Objects to Sql.





Issue: The above code is working fine as long as I send null for the array in IN object to the stored procedure. If I follow the above code structure to send the Java array to SQL's stored procedure I'm facing the following exception when it is trying to create the ARRAY object in getOracleArray().



Question is: Can someone help me figure out how I can pass Java array as SQLArray to a object which is in turn passed as a parameter to stored procedure(SP)? If I am not successful with finding the solution for this, I may have to ask the DBA to change the structure of the SP like (object with only basic datatypes, inputarray, output). But I'm assuming there is a better and elegant way to handle this in Java. I appreciate any help or suggestions.


Note: There is no compilation errors in the above code, if I have missed something trivial please ignore it as my effort to make the question small.
Thanks
SK