LOB usage in ODBC applications
SQLSetConnectAttr()
.
Once this is done, CLI will map the ODBC long data types to the Db2® LOB data types.
Existing ODBC-compliant applications use SQL_LONGVARCHAR and SQL_LONGVARBINARY
instead of the
Db2 BLOB
and CLOB data types. You can still access LOB columns from these ODBC-compliant
applications by setting the LongDataCompat configuration keyword in
the initialization file, or setting the SQL_ATTR_LONGDATA_COMPAT connection
attribute using SQLSetConnectAttr()
. Once this is
done, CLI will
map the ODBC long data types to the
Db2 LOB
data types. The LOBMaxColumnSize configuration keyword allows you
to override the default COLUMN_SIZE for LOB data types.
SQLGetTypeInfo()
will return CLOB, BLOB and DBCLOB characteristics when called with SQL_LONGVARCHAR, SQL_LONGVARBINARY or SQL_LONGVARGRAPHIC.- The following functions will return SQL_LONGVARCHAR, SQL_LONGVARBINARY
or SQL_LONGVARGRAPHIC when describing CLOB, BLOB or DBCLOB data types:
SQLColumns()
SQLSpecialColumns()
SQLDescribeCol()
SQLColAttribute()
SQLProcedureColumns()
- LONG VARCHAR and LONG VARCHAR FOR BIT DATA will continue to be described as SQL_LONGVARCHAR and SQL_LONGVARBINARY.
The default setting for SQL_ATTR_LONGDATA_COMPAT is SQL_LD_COMPAT_NO; that is, mapping is not in effect.
With mapping in effect, ODBC applications can retrieve and input
LOB data by using the SQLGetData()
, SQLPutData()
and
related functions.