数据类型映射到 OLE DB 数据类型
本主题介绍对 OLE DB 数据类型的所有数据类型映射。
DB2 至 OLE DB 的数据类型映射
下表描述对 OLE DB 数据类型的 DB2 数据类型映射。
OLE DB 数据类型 | DB2 数据类型 | 说明 |
---|---|---|
DBTYPE_I8 | Bigint | 大整数是 8 字节二进制整数。 |
DBTYPE_Bytes | BINARY | 二进制是固定长度的二进制字符串 |
DBTYPE_Bytes | BLOB | 二进制大对象是可变长度的字符串,用于存储非文本或二进制数据。 |
DBTYPE_STR | Char | Character(字符)是一个固定长度的 SBCS 或 MBCS 字符串。 |
DBTYPE_WSTR | Char | Unicode 字符是一个固定长度的 MBCS 字符串。 |
DBTYPE_STR | CLOB | 可变长度的字符大对象是可变长度的字符串。 字符串的最大长度与 DB2 平台和版本有关。 |
DBTYPE_DBDate | 日期 | Date(日期)是一个 10 字节的字符串。 |
DBTYPE_Decimal | 小数 | Decimal(十进制)是一个打包的十进制数。 |
DBTYPE_R8 | Double | Double(双精度)是一个 8 字节的双精度浮点数。 |
DBTYPE_R8 | Float | Float(浮点数)是一个 8 字节的双精度浮点数。 |
DBTYPE_WSTR | Graphic | Graphic(图形)是一个仅包含固定长度 DBCS 的字符串。 |
DBTYPE_I4 | Integer | Integer(整数)是一个 4 字节的二进制整数。 |
DBTYPE_STR | Long Varchar | Varying character(不同字符)是一个不同长度的 SBCS 或 MBCS 字符串。 |
DBTYPE_WSTR | Long Varchar | 可变的可变长度的 Unicode 字符串。 |
DBTYPE_WSTR | Long Vargraphic | Varying graphic(不同图形)是一个仅包含不同长度 DBCS 的字符串。 |
DBTYPE_Numeric | Numeric | Numeric(数值)是一个打包的十进制数。 |
DBTYPE_I2 | Smallint | 小整数是 2 字节二进制整数。 |
DBTYPE_R4 | Real | Real(实型)是一个 4 字节的单精度浮点数。 |
DBTYPE_DBTime | 时间 | Time(时间)是一个 8 字节的时间字符串。 |
DBTYPE_DBTimestamp | 时间戳 | Timestamp(时间戳)是一个表示日期、时间和微秒的 26 字节的字符串。 |
DBTYPE_Bytes | Varbinary | 可变的二进制是可变长度的二进制字符串。 |
DBTYPE_STR | Varchar | Varying character(不同字符)是一个不同长度的 SBCS 或 MBCS 字符串。 |
DBTYPE_WSTR | Varchar | 可变的可变长度的 Unicode 字符串。 |
DBTYPE_WSTR | VarGraphic | Varying graphic(不同图形)是一个仅包含不同长度 DBCS 的字符串。 |
DB2 平台使用的数据类型
使用具有 IDBSchemaRowset::GetRowset 的预定义架构行集检索 OLE DB 中的架构信息。 数据访问接口基于 IBM DB2 平台和版本公布 PROVIDER_TYPES 行集以表明 DB2 至 OLE DB 数据类型支持(类型、映射、限制)。
DB2 for z/OS
数据提供程序支持在连接到 DB2 for z/OS 时访问这些数据类型。
DB2 Type_name | OLE DB data_type | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
二进制 | DBType_Bytes | 255 | ||
Real | DBType_R4 | 21 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
小数 | DBType_Decimal | 31 | 0 | 31 |
Graphic | DBType_WSTR | 127 | ||
VarGraphic | DBType_WSTR | 16352 | ||
Char | DBType_STR | 255 | ||
Varchar | DBType_STR | 32672 | ||
Char | DBType_WSTR | 255 | ||
Varchar | DBType_WSTR | 32672 | ||
Numeric | DBType_Numeric | 31 | 0 | 31 |
日期 | DBType_DBDate | 10 | ||
时间 | DBType_DBTime | 8 | ||
时间戳 | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Long Varchar | DBType_STR | 32704 | ||
Long Varchar | DBType_WSTR | 32704 | ||
Long Vargraphic | DBType_WSTR | 16352 | ||
Varbinary | DBTypte_Bytes | 32704 |
DB2 for i
数据提供程序支持在连接到 DB2 for i 时访问这些数据类型。
DB2 Type_name | OLE DB data_type | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
二进制 | DBType_Bytes | 32765 | ||
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
Real | DBType_R4 | 24 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
小数 | DBType_Decimal | 63 | 0 | 31 |
Graphic | DBType_WSTR | 16382 | ||
VarGraphic | DBType_WSTR | 16369 | ||
Char | DBType_STR | 32765 | ||
Varchar | DBType_STR | 32739 | ||
Char | DBType_WSTR | 32765 | ||
Varchar | DBType_WSTR | 32739 | ||
Numeric | DBType_Numeric | 31 | 0 | 31 |
日期 | DBType_DBDate | 10 | ||
时间 | DBType_DBTime | 8 | ||
时间戳 | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Varbinary | DBType_Bytes | 32739 |
DB2 for LUW
数据提供程序支持在连接到 DB2 for LUW 时访问这些数据类型。
DB2 Type_name | OLE DB data_type | Column_size | Minimum_scale | Maximum_scale |
---|---|---|---|---|
二进制 | DBType_Bytes | 254 | ||
Smallint | DBType_12 | 5 | ||
Integer | DBType_14 | 10 | ||
Bigint | DBType_18 | 19 | ||
Real | DBType_R4 | 24 | ||
Float | DBType_R8 | 53 | ||
Double | DBType_R8 | 53 | ||
小数 | DBType_Decimal | 31 | 0 | 31 |
Graphic | DBType_WSTR | 127 | ||
VarGraphic | DBType_WSTR | 16336 | ||
Char | DBType_STR | 254 | ||
Varchar | DBType_STR | 4000 | ||
Char | DBType_WSTR | 254 | ||
Varchar | DBType_WSTR | 4000 | ||
Char() for BIT data | DBType_Bytes | 254 | ||
Varchar() for BIT data | DBType_Bytes | 32672 | ||
Numeric | DBType_Numeric | 31 | 0 | 31 |
日期 | DBType_DBDate | 10 | ||
时间 | DBType_DBTime | 8 | ||
时间戳 | DBType_Timestamp | 26 | ||
BLOB | DBType_Bytes | 2147483647 | ||
CLOB | DBType_STR | 2147483647 | ||
Long Varchar | DBType_STR | 32700 | ||
Long Varchar | DBType_STR | 32700 | ||
Long Varchar | DBType_WSTR | 16350 | ||
Varbinary | DBTYPE_BYTES | 32762 |
SQL Server Integration Services
在使用来自 Microsoft SQL Server Management Studio 的 SQL Server Integration Services 导入和导出向导时,您可以通过编辑 XML 映射文件来自定义默认数据转换。 这些 XML 文件位于 C:\Program Files\Microsoft SQL Server\100\DTS\MappingFiles。
SQL Server Replication Services
基于从 SQL Server 到 DB2 数据类型的默认映射,SQL Server 复制可能会错误地转换数据。 我们建议管理员和开发人员使用以下 SQL Server 系统存储过程,查看和修订复制数据类型映射。
sp_helpdatatypemap
sp_getdefaultdatatypemapping
sp_setdefaultdatatypemapping
有关详细信息,请参阅 SQL Server Books Online 中的 System Stored Procedures (Transact-SQL) (https://go.microsoft.com/fwlink/?LinkId=241519) 主题。