IN and OUT parameter type mapping
An exception is thrown by the registerOutParameter(int, int), registerOutParameter(int, int, int), or setNull(int, int) method if the driver cannot find a matching HCL Informix® type or finds a mapping ambiguity (more than one matching Informix® type). The table that follows shows the mappings the CallableStatement interface uses. Asterisks ( * ) indicate mapping ambiguities.
java.sql.Types | com.informix.lang.IfxTypes |
---|---|
Array* | IFX_TYPE_LIST IFX_TYPE_MULTISET IFX_TYPE_SET |
Bigint | IFX_TYPE_INT8 |
Binary | IFX_TYPE_BYTE |
Bit | Not supported |
Blob | IFX_TYPE_BLOB |
Char | IFX_TYPE_CHAR (n) |
Clob | IFX_TYPE_CLOB |
Date | IFX_TYPE_DATE |
Decimal | IFX_TYPE_DECIMAL |
Distinct* | Depends on base type |
Double | IFX_TYPE_FLOAT |
Float | IFX_TYPE_FLOAT1 |
Integer | IFX_TYPE_INT |
Java_Object* | IFX_TYPE_UDTVAR IFX_TYPE_UDTFIX |
Long | IFX_TYPE_BIGINT IFX_TYPE_BIGSERIAL |
Longvarbinary* | IFX_TYPE_BYTE IFX_TYPE_BLOB |
Longvarchar* | IFX_TYPE_TEXT IFX_TYPE_CLOB IFX_TYPE_LVARCHAR |
Null | Not supported |
Numeric | IFX_TYPE_DECMIAL |
Other | Not supported |
Real | IFX_TYPE_SMFLOAT |
Ref | Not supported |
Smallint | IFX_TYPE_SMINT |
Struct | IFX_TYPE_ROW |
Time | IFX_TYPE_DTIME (hour to second) |
Timestamp | IFX_TYPE_DTIME (year to fraction(5)) |
Tinyint | IFX_TYPE_SMINT |
Varbinary | IFX_TYPE_BYTE |
Varchar | IFX_TYPE_VCHAR (n) |
Nothing* | IFX_TYPE_BOOL |
1 This mapping is JDBC compliant. You can map the JDBC FLOAT data type to the Informix® SMALLFLOAT data type for compatibility with earlier versions by setting the IFX_SET_FLOAT_AS_SMFLOAT connection property to 1.
public void IfxRegisterOutParameter(int parameterIndex,
int ifxType) throws SQLException;
public void IfxRegisterOutParameter(int parameterIndex,
int ifxType, String name) throws SQLException;
public void IfxRegisterOutParameter(int parameterIndex,
int ifxType, int scale) throws SQLException;
public void IfxSetNull(int i, int ifxType) throws SQLException;
public void IfxSetNull(int i, int ifxType, String name) throws
SQLException;
Possible values for the ifxType parameter are listed in The IfxTypes class.
HCL Informix®, Version 10.0, or later makes available to the JDBC client valid BLOB descriptors and data to support binary OUT parameters for SPL UDRs.
Informix® JDBC Driver, Version 3.0, or later can receive the OUT parameter descriptor and data provided by the server and use it in Java™ applications.
The single correct return value for any JDBC binary type (BINARY, VARBINARY, LONGVARBINARY) retrieved via method getParameterType (ParameterMetaData) is -4, which is associated with java.sql.Type.LONGVARBINARY data type. This reflects the fact that all the JDBC binary types are mapped to the same Informix® SQL data type, BYTE.