Default C Data Types
Important Interoperable applications should not use SQL_C_DEFAULT. Instead, they
should always specify the C type of the buffer they are using. The reason for this
is that drivers cannot always correctly determine the default C type for the
following reasons:
Because SQL_C_DEFAULT is provided only as a programming convenience, the
application does not lose any functionality when it specifies the actual C data type.
A table showing the default C data type for each SQL data type is included in
If the DBMS promotes an SQL data type of a column or parameter, the driver
cannot determine the original SQL data type of a column or parameter. Therefore,
it cannot determine the corresponding default C data type.
If the driver cannot determine whether a particular column or parameter is
signed, as is often the case when this is handled by the DBMS, the driver cannot
determine whether the corresponding default C data type should be signed or
unsigned.