Calling The Repository API's from a non-EBCDIC language/Platform

Document ID : KB000053366
Last Modified Date : 14/02/2018
Show Technical Document Details

Description

If you are trying to call one of the Repository API's such as DBXIOU from a non-EBCDIC based language/platform, you may experience various SQL errors. Most notible is a SQL -104 error
Return code = 8
Reason (message text) = =?( + - ? : NOT CASE CAST USER EXISTS <FLOAT>
CURRENT NEXTVAL

Solution

The DB2 Driver will convert an entire column from ASCII to EBCDIC. It will not convert parts of a column.
The Block Definition contains a buffer of data. The driver treats this as one column, but this one column could contain binary data with character data with decimal data. It is this that cannot be converted properly.
In order to successfully call the Repository API's from a non-EBCDIC based language/platform one would need to front end the CA procedures with another one. This stored procedure would convert the data and then call the CA procedure.