In V11.5 and later, the DSQL logic has been modified to return an error if you attempt to use ctsqlGetChar() on long columns because the value they return is not correct. Using the following functions on a long column now returns the CTSQLRET_INTYPES (SQL_ERR_INTYPES -20008) error:
ctsqlGetChar |
ctsqlGetInteger |
ctsqlGetMoney |
ctsqlGetBinary |
ctsqlGetNChar |
ctsqlGetReal |
ctsqlGetTime |
ctsqlGetBit |
ctsqlGetNumeric |
ctsqlGetFloat |
ctsqlGetTimeStamp |
ctsqlGetBigInt |
ctsqlGetSmallInt |
ctsqlGetDate |
ctsqlGetTinyInt |
ctsqlGetNumericAsString |
Note: This constitutes a Compatibility Change.