Compartir a través de


Proveedores de datos para DB2

Compatibilidad de plataformas

Conversiones de páginas de códigos

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

CCSID de host

El proveedor de datos requiere un valor para CCSID (Identificador codificado del juego de caracteres) del host con el que realizar las conversiones de la página de código en los datos de cadena. El valor del CCSID del host predeterminado es EBCDIC - EE.UU./Canadá [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 Página de códigos de PC con el que realizar las conversiones de la página de código en los datos de cadena. La página de códigos de PC predeterminada es ANSI - Latín I [1252]. Por lo general, 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, según el tipo de datos de DB2 y el del consumidor de Windows. La codificación de DB2 viene determinada por el CCSID del host. La codificación de Windows viene determinada por la página de códigos de PC.

Asignación de tipos de datos

En la tabla siguiente se describen asignaciones de 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 de DB2 (MsDb2Type) a tipos de datos del proveedor de ADO.NET para DB2 (MsDb2Client).

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 2 bytes.
BLOB BLOB Un objeto grande binario es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios.
Char Char Carácter que 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 versión de DB2.
Date Date Cadena de 10 bytes.
DBCLOB DCLOB Un objeto grande de caracteres de doble byte de longitud variable es una cadena de solo doble byte de gráfico de longitud variable. La longitud máxima de la cadena depende de la plataforma y 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 doble precisión de 8 bytes.
Graphic Graphic Cadena de longitud fija de solo DBCS.
Int Entero Entero binario de 4 bytes.
Numérica Numérica Número decimal empaquetado.
Real Real Número de punto flotante de precisión simple de 4 bytes.
SmallInt Smallint Un entero pequeño es un entero binario de 2 bytes.
Time Time Cadena de hora de 8 bytes.
Timestamp Timestamp Cadena de 26 bytes que representa la fecha, la hora y los microsegundos.
TinyInt Smallint Un entero pequeño es un entero binario de 2 bytes.
VarBinary Varbinary Un binario variable es una cadena binaria de longitud variable.
VarChar Varchar Carácter variable que es una cadena de caracteres SBCS o MBCS de longitud variable.
VarGraphic Vargraphic Gráfico variable que es una cadena de longitud variable de solo DBCS.
VarWideChar Vargraphic Un gráfico variable es una cadena de longitud variable solo para Unicode.
VarWideGraphic Vargraphic Un gráfico variable es una cadena de longitud variable solo para Unicode.
WideChar Graphic Un gráfico es una cadena Unicode de longitud fija.
Xml XML Cadena de documento XML con formato correcto.

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

La tabla siguiente describe 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 BINARY Un binario es una cadena binaria de longitud fija.
DBTYPE_Bytes BLOB Un objeto grande binario es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios.
DBTYPE_STR Char Carácter que es una cadena SBCS o MBCS de longitud fija.
DBTYPE_WSTR Char Carácter Unicode que 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 versión de DB2.
DBTYPE_DBDate Fecha Cadena de 10 bytes.
DBTYPE_Decimal Decimal Un decimal es un número decimal empaquetado.
DBTYPE_R8 Doble Un doble es un número de punto flotante de doble precisión de 8 bytes.
DBTYPE_R8 Float Número de punto flotante de doble precisión de 8 bytes.
DBTYPE_WSTR Graphic Cadena de longitud fija de solo DBCS.
DBTYPE_I4 Entero Entero binario de 4 bytes.
DBTYPE_STR Varchar largo Carácter variable que es una cadena de caracteres SBCS o MBCS de longitud variable.
DBTYPE_WSTR Varchar largo Cadena Unicode de longitud variable.
DBTYPE_WSTR Vargraphic largo Gráfico variable que es una cadena de longitud variable de solo DBCS.
DBTYPE_Numeric Numeric Número decimal empaquetado.
DBTYPE_I2 Smallint Un entero pequeño es un entero binario de 2 bytes.
DBTYPE_R4 Real Número de punto flotante de precisión simple de 4 bytes.
DBTYPE_DBTime Time Cadena de hora de 8 bytes.
DBTYPE_DBTimestamp Timestamp 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 Carácter variable que es una cadena de caracteres SBCS o MBCS de longitud variable.
DBTYPE_WSTR Varchar Cadena Unicode de longitud variable.
DBTYPE_WSTR VarGraphic Gráfico variable que es una cadena de longitud variable de solo DBCS.

La información de esquema de OLE DB se recupera mediante conjuntos de filas de esquema predefinidos con IDBSchemaRowset::GetRowset. El proveedor de datos expuso el conjunto de filas PROVIDER_TYPES para indicar la compatibilidad de tipos de datos de DB2 a OLE DB (tipos, asignaciones y 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 al conectarse a DB2 para z/OS.

DB2 Type_name OLE DB data_type Column_size Minimum_scale Maximum_scale
Smallint DBType_12 5
Entero DBType_14 10
Bigint DBType_18 19
Binary DBType_Bytes 255
Real DBType_R4 21
Float DBType_R8 53
Double DBType_R8 53
Decimal 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
Fecha DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varchar largo DBType_STR 32704
Varchar largo DBType_WSTR 32704
Vargraphic largo DBType_WSTR 16352
Varbinary DBTypte_Bytes 32704

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
Entero DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Float DBType_R8 53
Double DBType_R8 53
Decimal 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
Fecha DBType_DBDate 10
Time DBType_DBTime 8
Timestamp 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 al conectarse 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
Entero DBType_14 10
Bigint DBType_18 19
Real DBType_R4 24
Float DBType_R8 53
Double DBType_R8 53
Decimal 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
Fecha DBType_DBDate 10
Time DBType_DBTime 8
Timestamp DBType_Timestamp 26
BLOB DBType_Bytes 2147483647
CLOB DBType_STR 2147483647
Varchar largo DBType_STR 32700
Varchar largo DBType_STR 32700
Varchar largo DBType_WSTR 16350
Varbinary DBTYPE_BYTES 32762

SQL Server Integration Services

Al usar el Asistente para importación y exportación de SQL Server Integration Services desde Microsoft SQL Server Management Studio, puede personalizar las conversiones de datos predeterminadas si edita 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.

SQL Server Replication Services

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