I have a strange behavior in an SQLRPGLE program accessing iSeries DB2 and Oracle via Oracle Access Manager.
The program is very simple and reads values from two Oracle Tables in this way :
a. SELECT .... into ..... FROM Table1 WHERE .....
return OK : 1 row as expected with my two fields filled.
b. SELECT .... into ..... FROM Table2 WHERE .....
return OK : 1 row as expected with other two fields filled from the 2nd table.
c. SELECT .... into ..... FROM Table2 WHERE .....
the same SELECT on the same table as in point b. but with different WHERE conditions.
Now imagine that my select at point c. doesn't return any value and i get a return sqlcode = 100.
Everything is ok so far, BUT :
if the next select (after my c. Select on Table2 ended with sqlcode=100) is again a a. SELECT (on Table1) I get an sqlcode = -969 / sqlstate = 58033 wich means :
Error occurred when passing request to application requester driver program
associated with the CPD3E06 about invalid data on format ARXD0100 of the ARD program.
It looks like (just my two cents...) something about incorrect values in the SQLDA area.
The Oracle DBA doesn't find anything strange on Oracle Server Side.
Everything works like a charm if i always find records and if i never have an sqlcode=100.
Again everything works if, after the c. SELECT on Table2 I execute another same SELECT on Table2.
No problems with same instructions directly typed in STRSQL interactive session.
Thanks in advance for any info, wich would be much appreciated !
iSeries box : V5R4M0
Oracle : 10.2.0.3.0
Oracle Access Manager : 10.2.0.1.0