ODBC 数据类型及其与 Db2 for i 数据库类型的对应方式

IBM i Access 支持 ODBC 驱动程序在 ODBC 类型和 Db2 for i 数据类型之间映射数据类型。

下表显示了受支持数据类型的缺省映射。 选择以下指向 Db2 for i 数据库类型的相关链接,以获取有关数据类型的更多信息。

表 1. Db2 for i 数据库类型的数据类型映射
Db2 for i 数据库类型 3.x ODBC 数据类型
BIGINT SQL_BIGINT
BINARY SQL_BINARY
BLOB sql_longvarbinary
BOOLEAN SQL_BIT
CHAR SQL_CHAR
char ccsid 65535 SQL_BINARY
CHAR FOR BIT DATA SQL_BINARY
CLOB sql_longvarchar
DATALINK SQL_VARCHAR
日期 SQL_DATE
DBCLOB sql_longvarchar
dbclob ccsid 1200 sql_longvarchar
dbclob ccsid 13488 sql_longvarchar
DECFLOAT SQL_VARCHAR
DECIMAL SQL_DECIMAL
SQL_DOUBLE
FLOAT SQL_FLOAT
GRAPHIC SQL_CHAR
图形 CCSID 1200 SQL_WCHAR
图形 CCSID 13488 SQL_WCHAR
INTEGER SQL_INTEGER
LONG VARCHAR SQL_VARCHAR
LONG VARCHAR FOR BIT DATA SQL_VARBINARY
LONG VARGRAPHIC SQL_VARCHAR
长尺寸 CCSID 1200 SQL_WVARCHAR
长条形 CCSID 13488 SQL_WVARCHAR
NCHAR SQL_WCHAR
NCLOB sql_longvarchar
NUMERIC SQL_NUMERIC
NVARCHAR SQL_WVARCHAR
REAL SQL_REAL
ROWID SQL_VARBINARY
SMALLINT SQL_SMALLINT
时间 SQL_TYPE_TIME
TIMESTAMP sql_type_timestamp
VARBINARY SQL_VARBINARY
VARCHAR SQL_VARCHAR
VARCHAR FOR BIT DATA SQL_VARBINARY
varchar ccsid 65535 SQL_VARBINARY
VARGRAPHIC SQL_VARCHAR
VOCSID 1200 SQL_WVARCHAR
VOCSID 13488 SQL_WVARCHAR
XML sql_longvarchar

实施说明:

  • 这些 ODBC SQL 数据类型支持 Microsoft ODBC Software Development Kit Programmer 's Reference Version 3.5 中的所有转换。
  • 调用 ODBC API SQLGetTypeInfo 了解有关这些数据类型的更多信息。
  • 如果指定的列大小大于 255 ,那么数据库会将 VARCHAR 的数据库类型更改为 LONG VARCHAR。
  • ODBC 驱动程序不支持任何时间间隔 SQL 数据类型。
  • 2.x ODBC 应用程序使用 SQL_DATE , SQL_TIME 和 SQL_TIMESTAMP 定义来代替 SQL_TYPE_DATE , SQL_TYPE_TIME 和 SQL_TYPE_TIMESTAMP 定义。
  • UTF-16 数据,是 CCSID 为 1200 或 13488 的数据类型,向 ODBC 2.x 应用程序报告为 SQL_CHAR , SQL_VARCHAR 和 SQL_LONGVARCHAR ,而不是 SQL_WCHAR , SQL_WVARCHAR 和 SQL_WLONGVARCHAR。
  • 支持多达 2 GB 大小的 LOB (BLOB , CLOB 和 DBCLOB)。 有关 LOB 和数据链接的更多信息,请选择下面的相关链接,以了解 "大对象 (LOB) 注意事项" 主题集合。
  • 请注意,要成功检索具有较大精度的十进制字段,必须将该列绑定为 SQL_C_CHAR。 存储 SQL_C_NUMERIC 数据的结构最多可容纳 38 位数字。