Proveedores de datos para DB2

Compatibilidad de plataformas

Conversiones de página de códigos

El proveedor de datos admite una combinación de conjuntos de caracteres de bytes únicos (SBCS), conjuntos de caracteres de doble byte (MBCS) de doble byte (DBCS) y Unicode - UTF8 [1208], que es un formato de transformación Unicode de 8 bits.

Host CCSID

El proveedor de datos requiere un valor para host CCSID (identificador de juego de caracteres codificados) con el que realizar conversiones de página de códigos en datos de cadena. El valor de CCSID de host predeterminado es EBCDIC – U.S./Canada [37]. Normalmente, los servidores de bases de datos IBM DB2 para z/OS e IBM i utilizan EBCDIC (código de intercambio decimal codificado binario extendido).

Página de códigos de PC

El proveedor de datos requiere un valor para la página de códigos de PC con la que realizar conversiones de página de códigos en datos de cadena. La página de códigos de PC predeterminada es ANSI – Latin I [1252]. Normalmente, los consumidores de datos usan ANSI (American National Standards Institute) o Unicode.

Procesar binario como carácter

Los proveedores de datos para DB2 convierten automáticamente a y desde tipos de datos binarios (CCSID 65535) y cadenas de caracteres, en función del tipo de datos DB2 y del tipo de datos de consumidor de Windows. La codificación DB2 viene determinada por el CCSID de host. La codificación de Windows viene determinada por la página de códigos del equipo.

Asignación de tipos de datos

En este tema se describen todas las asignaciones de tipos de datos a tipos de datos OLE DB.

Asignación de tipos de datos de DB2 a ADO.NET

En la tabla siguiente se describen las asignaciones de tipos de datos DB2 a tipos de datos del proveedor de ADO.NET para DB2 (MsDb2Client) (MsDb2Type).

MsDb2Type Tipo de datos DB2 Descripción
BigInt Bigint Un entero grande es un entero binario de 8 bytes.
Binary Binary Un binario es una cadena binaria de longitud fija.
bit Smallint Un entero pequeño es un entero binario de dos bytes.
BLOB BLOB Un objeto binario grande es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios.
Carbón Carbón Un carácter es una cadena SBCS o MBCS de longitud fija.
CLOB CLOB Un objeto grande de caracteres de longitud variable es una cadena de longitud variable. La longitud máxima de la cadena depende de la plataforma y la versión de DB2.
Fecha Fecha Una fecha es una cadena de 10 bytes.
DBCLOB DCLOB Un objeto grande de caracteres de doble byte de longitud variable es una cadena de doble byte de gráfico de longitud variable. La longitud máxima de la cadena depende de la plataforma y la versión de DB2.
Decimal Decimal Un decimal es un número decimal empaquetado.
Double Double Un doble es un número de punto flotante de precisión doble de 8 bytes.
Graphic Graphic Un gráfico es una cadena DBCS de longitud fija.
Int Número entero Un entero es un entero binario de 4 bytes.
Numérico Numérico Un valor numérico es un número decimal empaquetado.
Real Real Un valor real es un número de punto flotante de precisión sencilla de 4 bytes.
SmallInt Smallint Un entero pequeño es un entero binario de dos bytes.
Tiempo Tiempo Una hora es una cadena de tiempo de 8 bytes.
Marca de tiempo Marca de tiempo Una marca de tiempo es una cadena de 26 bytes que representa la fecha, la hora y los microsegundos.
TinyInt Smallint Un entero pequeño es un entero binario de dos bytes.
VarBinary Varbinary Un binario variable es una cadena binaria de longitud variable.
VarChar Varchar Un carácter variable es una cadena de caracteres SBCS o MBCS de longitud variable.
VarGraphic Vargraphic Un gráfico variable es una cadena dbCS de longitud variable.
VarWideChar Vargraphic Un gráfico variable es una cadena Unicode de longitud variable.
VarWideGraphic Vargraphic Un gráfico variable es una cadena Unicode de longitud variable.
WideChar Graphic Un gráfico es una cadena Unicode de longitud fija.
XML XML Cadena de documento XML bien formada.

Asignación de tipos de datos de DB2 a OLE DB

En la tabla siguiente se describen las asignaciones de tipos de datos DB2 a tipos de datos OLE DB.

Tipo de datos de OLE DB Tipo de datos DB2 Descripción
DBTYPE_I8 Bigint Un entero grande es un entero binario de 8 bytes.
DBTYPE_Bytes BINARIO Un binario es una cadena binaria de longitud fija
DBTYPE_Bytes BLOB Un objeto binario grande es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios.
DBTYPE_STR Carbón Un carácter es una cadena SBCS o MBCS de longitud fija.
DBTYPE_WSTR Carbón Un carácter Unicode es una cadena MBCS de longitud fija.
DBTYPE_STR CLOB Un objeto grande de caracteres de longitud variable es una cadena de longitud variable. La longitud máxima de la cadena depende de la plataforma y la versión de DB2.
DBTYPE_DBDate Fecha Una fecha es una cadena de 10 bytes.
DBTYPE_Decimal Decimal Un decimal es un número decimal empaquetado.
DBTYPE_R8 Double Un doble es un número de punto flotante de precisión doble de 8 bytes.
DBTYPE_R8 Flotante Un float es un número de punto flotante de precisión doble de 8 bytes.
DBTYPE_WSTR Graphic Un gráfico es una cadena DBCS de longitud fija.
DBTYPE_I4 Número entero Un entero es un entero binario de 4 bytes.
DBTYPE_STR Long Varchar Un carácter variable es una cadena de caracteres SBCS o MBCS de longitud variable.
DBTYPE_WSTR Long Varchar Cadena Unicode de longitud variable.
DBTYPE_WSTR Long Vargraphic Un gráfico variable es una cadena dbCS de longitud variable.
DBTYPE_Numeric Numérico Un valor numérico es un número decimal empaquetado.
DBTYPE_I2 Smallint Un entero pequeño es un entero binario de dos bytes.
DBTYPE_R4 Real Un valor real es un número de punto flotante de precisión sencilla de 4 bytes.
DBTYPE_DBTime Tiempo Una hora es una cadena de tiempo de 8 bytes.
DBTYPE_DBTimestamp Marca de tiempo Una marca de tiempo es una cadena de 26 bytes que representa la fecha, la hora y los microsegundos.
DBTYPE_Bytes Varbinary Un binario variable es una cadena binaria de longitud variable.
DBTYPE_STR Varchar Un carácter variable es una cadena de caracteres SBCS o MBCS de longitud variable.
DBTYPE_WSTR Varchar Cadena Unicode de longitud variable.
DBTYPE_WSTR VarGraphic Un gráfico variable es una cadena dbCS de longitud variable.

La información de esquema de OLE DB se recupera mediante conjuntos de filas de esquema predefinidos con IDBSchemaRowset::GetRowset. El proveedor de datos expone el conjunto de filas de PROVIDER_TYPES para indicar la compatibilidad del tipo de datos DB2 a OLE DB (tipos, asignaciones, límites), en función de la plataforma y la versión de IBM DB2.

DB2 para z/OS

El proveedor de datos admite el acceso a estos tipos de datos cuando se conecta a DB2 para z/OS.

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Smallint DBType_12 5
Número entero DBType_14 10
Bigint DBType_18 19
Binary DBType_Bytes 255
Real DBType_R4 Veintiuno
Flotante DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Graphic DBType_WSTR 127
VarGraphic DBType_WSTR 16352
Carbón DBType_STR 255
Varchar DBType_STR 32,672
Carbón DBType_WSTR 255
Varchar DBType_WSTR 32,672
Numérico DBType_Numeric 31 0 31
Fecha DBType_DBDate 10
Tiempo DBType_DBTime 8
Marca de tiempo DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Long Varchar DBType_STR 32,704
Long Varchar DBType_WSTR 32,704
Long Vargraphic DBType_WSTR 16352
Varbinary DBTypte_Bytes 32,704

DB2 para IBM i

El proveedor de datos admite el acceso a estos tipos de datos cuando se conecta a DB2 para IBM i.

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Binary DBType_Bytes 32765
Smallint DBType_12 5
Número entero DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Flotante DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 63 0 31
Graphic DBType_WSTR 16382
VarGraphic DBType_WSTR 16369
Carbón DBType_STR 32765
Varchar DBType_STR 32739
Carbón DBType_WSTR 32765
Varchar DBType_WSTR 32739
Numérico DBType_Numeric 31 0 31
Fecha DBType_DBDate 10
Tiempo DBType_DBTime 8
Marca de tiempo DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varbinary DBType_Bytes 32739

DB2 para LUW

El proveedor de datos admite el acceso a estos tipos de datos cuando se conecta a DB2 para LUW.

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Binary DBType_Bytes 254
Smallint DBType_12 5
Número entero DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Flotante DBType_R8 53
Double DBType_R8 53
Decimal DBType_Decimal 31 0 31
Graphic DBType_WSTR 127
VarGraphic DBType_WSTR 16336
Carbón DBType_STR 254
Varchar DBType_STR 4000
Carbón DBType_WSTR 254
Varchar DBType_WSTR 4000
Char() para datos BIT DBType_Bytes 254
Varchar() para datos BIT DBType_Bytes 32,672
Numérico DBType_Numeric 31 0 31
Fecha DBType_DBDate 10
Tiempo DBType_DBTime 8
Marca de tiempo 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

Al usar los Asistentes para importación y exportación de SQL Server Integration Services desde Microsoft SQL Server Management Studio, puede personalizar las conversiones de datos predeterminadas editando los archivos de asignación XML. Los archivos XML se encuentran en C:\Archivos de programa\Microsoft SQL Server\130\DTSMappingFiles para archivos de 64 bits y C:\Archivos de programa (x86)\Microsoft SQL Server\130\DTSMappingFiles para 32 bits.

Servicios de replicación de SQL Server

La replicación de SQL Server puede convertir datos incorrectamente, en función de las asignaciones predeterminadas de SQL Server a tipos de datos DB2. Se recomienda que el administrador y el desarrollador revisen y revisen las asignaciones de tipos de datos de replicación mediante los siguientes procedimientos almacenados del sistema de SQL Server.