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.
·sp_helpdatatypemap
·sp_getdefaultdatatypemapping
·sp_setdefaultdatatypemapping
Para obtener más información, consulte Procedimientos almacenados del sistema (Transact-SQL).