Invoking DB2 Stored Procedure using Java PreparedStatement

I am having a problem with Java Client for DB2 stored procedure. I am using PreparedStatement and setting data using setString() function. In some cases when I have large buffer size the data is getting misaligned on the mainframe side due to some binary/invalid chars getting appended before the string.

Following is the Stored Procedure I/O Structure:

Field Name     DATA TYPE     INPUT/OUTPUT     SIZE
_____________________________________________________
HDRCNTL             VARCHAR          INPUT          300
INORDERNO     CHAR          INPUT          9
INGENL          CHAR          INPUT          91
INDATA          VARCHAR          INPUT          29942
COMMAREA     VARCHAR          OUTPUT          400
_____________________________________________________

I am using setString() to set all the input data elements. The data received on mainframe has 2 additional chars in the beginning of INDATA string. I tried using setBytes() also and that doesn't work either. I am looking for solution to avoid the 2 chars getting on mainframe DB2.


Thanks much.
ArshadAQAsked:
Who is Participating?
 
asharma2Connect With a Mentor Commented:
Hi Arshad,
      Are you running the java program in NT/Unix?If so then problem here might be because of different encoding pattern accross the platform.In mainframe encoding pattern is EBCDIC and in NT/Unix it is ASCII.SO before doing the set string you need to first translate the ASCII to EBCDIC then do setString.If setString doesn't work then instead of prepareStatement use directly variable in Query.
      You can get several translation program available in net..one such is http://www.room42.com/store/computer_center/java_translate.shtml.

Good luck.

Regards
Alok

0
 
vemulCommented:
No comment has been added lately, so it's time to clean up this TA.
I will leave a recommendation in the Cleanup topic area that this question is:

- points to asharma2

Please leave any comments here within the
next seven days.

PLEASE DO NOT ACCEPT THIS COMMENT AS AN ANSWER !

vemul
Cleanup Volunteer
0
 
Computer101Commented:
Comment from expert accepted as answer

Computer101
E-E Admin
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.