Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Compatibilidad de plataformas
Conversiones de páginas de código
El proveedor de datos admite una combinación de conjuntos de caracteres de byte único (SBCS), conjuntos de caracteres de bytes mixtos (MBCS), conjuntos de caracteres de doble byte (DBCS) y Unicode - UTF8 [1208], que es un formato de transformación Unicode de 8 bits.
Host CCSID (Identificador de conjunto de caracteres del host)
El proveedor de datos requiere un valor para Host CCSID (Identificador de Juego de Caracteres Codificados) con el que realizar conversiones de páginas de código en datos tipo cadena de texto. El valor de CCSID de host predeterminado es Unicode - UTF8 [1208]. Normalmente, los servidores de bases de datos IBM Informix usan Unicode.
Página de códigos de PC
El proveedor de datos requiere un valor para la página de códigos del PC, con el cual realizar conversiones entre páginas de códigos en datos de texto. La página de códigos de PC predeterminada es Unicode - UTF8 [1208]. Normalmente, los servidores de bases de datos IBM Informix usan Unicode.
Procesar binario como carácter
El proveedor de datos convierte automáticamente a y desde tipos de datos binarios (CCSID 65535) y de cadena de caracteres, según el tipo de datos Informix y el tipo de datos de consumidor de Windows. La codificación de Informix 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 Informix a OLE DB
En la tabla siguiente se describen las asignaciones de tipos de datos de Informix a tipos de datos OLE DB.
| Tipo de datos de OLE DB | Tipo de datos Informix | Descripción |
|---|---|---|
| DBTYPE_I8 | bigint | Un entero grande es un entero binario de 8 bytes. |
| DBTYPE_UI8 | bigserial | Entero binario de 8 bytes sin signo. |
| DBTYPE_Bytes | mancha | Un objeto binario grande es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios. |
| DBTYPE_BOOL | booleano | Un booleano es un solo byte binario para almacenar un valor verdadero o falso. |
| DBTYPE_Bytes | byte | Un objeto binario grande es una cadena de longitud variable que se usa para almacenar datos no textuales o binarios. |
| DBTYPE_STR | char | Un carácter es una cadena SBCS o MBCS de longitud fija. |
| DBTYPE_STR | clob | Un objeto grande de caracteres de longitud variable es una cadena de longitud variable. |
| DBTYPE_DBDate | date | Una fecha es una cadena de 10 bytes. |
| DBTYPE_DBTimesStamp | datetime | Una marca de tiempo es una cadena de 32 bytes que representa la fecha, la hora y los microsegundos. |
| DBTYPE_Decimal | Decimal | Número decimal. |
| DBTYPE_R8 | flotante | Un float es un número de punto flotante de precisión doble de 8 bytes. |
| DBTYPE_I8 | int8 | Un entero 8 es un entero binario de 8 bytes. |
| DBTYPE_I4 | entero | Un entero es un entero binario de 4 bytes. |
| DBTYPE_DBTimesStamp | interval | Una marca de tiempo es una cadena de 32 bytes que representa la fecha, la hora y los microsegundos. |
| DBTYPE_STR | lvarchar | Un carácter variable es una cadena de caracteres de longitud variable. |
| DBTYPE_WSTR | NCHAR | Cadena Unicode de longitud fija. |
| DBTYPE_WSTR | nvarchar | Cadena Unicode de longitud variable. |
| DBTYPE_R4 | real | Un float es un número de punto flotante de precisión simple de 4 bytes. |
| DBTYPE_UI4 | serial | Entero binario de 4 bytes sin signo. |
| DBTYPE_UI8 | serial8 | Entero binario de 8 bytes sin signo. |
| DBTYPE_R4 | flotante pequeño | Un valor real es un número de punto flotante de precisión sencilla de 4 bytes. |
| DBTYPE_I2 | smallint | Entero binario de dos bytes. |
| DBTYPE_STR | Mensaje de texto | Un objeto grande de caracteres de longitud variable es una cadena de longitud variable. |
| DBTYPE_STR | varchar | Un carácter variable es una cadena de caracteres 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 expuso el conjunto de filas PROVIDER_TYPES para indicar la compatibilidad del tipo de datos de Informix a OLE DB (tipos, mapeos, limitaciones), en función de la versión de IBM Informix.
Informix V11
El proveedor de datos admite el acceso a estos tipos de datos cuando se conecta a Informix V11.
| Informix Type_name | OLE DB tipo_de_dato | Tamaño_de_columna | Escala_mínima | Escala_máxima |
|---|---|---|---|---|
| BIGINT | DBTYPE_I8 | 20 | ||
| INT8 | DBTYPE_I8 | 20 | ||
| SERIAL8 | DBTYPE_UI8 | 20 | ||
| BIGSERIAL | DBTYPE_UI8 | 20 | ||
| BOOLEAN | DBTYPE_BOOL | 1 | ||
| BYTE | DBTYPE_BYTES | 2147483647 | ||
| BLOB | DBTYPE_BYTES | 2147483647 | ||
| CHAR | DBTYPE_STR | 32767 | ||
| Mensaje de texto | DBTYPE_STR | 2147483647 | ||
| CLOB | DBTYPE_STR | 2147483647 | ||
| FECHA | DBTYPE_DBDATE | 10 | ||
| DECIMAL | DBTYPE_DECIMAL (Tipo de dato decimal) | 32 | 0 | 32 |
| FLOTAR | DBTYPE_R8 | 53 | ||
| NCHAR | DBTYPE_WSTR | 32767 | ||
| INTEGER | DBTYPE_I4 | 10 | ||
| SERIE | DBTYPE_UI4 | 10 | ||
| SMALLFLOAT | DBTYPE_R4 | 24 | ||
| REAL | DBTYPE_R4 | 24 | ||
| SMALLINT | DBTYPE_I2 | 5 | ||
| Fecha y hora | DBTYPE_DBTIMESTAMP | 32 | 0 | 12 |
| INTERVAL | DBTYPE_DBTIMESTAMP | 32 | 0 | 12 |
| VARCHAR | DBTYPE_STR | 255 | ||
| LVARCHAR | DBTYPE_STR | 32739 | ||
| NVARCHAR | DBTYPE_WSTR | 255 |
Rendimiento
Este tema contiene las secciones siguientes que le ayudarán a maximizar el rendimiento cuando use el proveedor de datos para Informix.
Configuración del rendimiento
Para mejorar el rendimiento, configure los proveedores de las maneras siguientes.
Agrupar los recursos del proveedor para reducir el tiempo de inicio de la conexión
La agrupación de conexiones es una optimización del lado cliente que reduce el tiempo de inicio de la conexión, al tiempo que reduce el uso de memoria en el equipo cliente. El proveedor OLE DB admite la agrupación de conexiones. Puede especificar la agrupación mediante la cadena de inicialización del origen de datos OLE DB (Connection Pooling=True). Además, puede configurar la agrupación mediante el cuadro de diálogo Avanzado del Asistente para orígenes de datos y el cuadro de diálogo Todos los vínculos de datos.
El proveedor mantiene una memoria caché de conexiones, basada en una propiedad Max Pool Size. El tamaño de grupo predeterminado es 100 conexiones (Tamaño máximo del grupo=100), que puede ajustar mediante el cuadro de diálogo Todo del Asistente para orígenes de datos o vínculos de datos. No hay ningún límite superior para la propiedad Max Pool Size. Si configura un valor menor que 0 para la propiedad Tamaño máximo del grupo, se usa el valor predeterminado de 100.
Opcionalmente, puede especificar un número de segundos para indicar al proveedor de datos que espere antes de establecer conexiones mediante la agrupación de conexiones del lado del cliente. Cuando todas las conexiones de un grupo están en uso y el período de tiempo de espera expira, el proveedor de datos devolverá un error al consumidor de datos ("la conexión no está disponible"). El valor predeterminado es 15 segundos (Tiempo de espera de conexión=15), y puede ajustarlo usando el cuadro de diálogo General del Asistente para orígenes de datos o los vínculos de datos. No hay ningún límite superior para la propiedad Tiempo de espera de conexión. Especifique -1 para indicar al proveedor de datos que espere indefinidamente una conexión abierta en el grupo de conexiones del lado cliente.
Optimización de la memoria caché del conjunto de filas al obtener datos
La propiedad RowsetCacheSize indica al proveedor de datos que capture previamente filas de Informix mientras procesa y devuelve filas al consumidor de datos simultáneamente. Esta característica puede mejorar el rendimiento en operaciones masivas de solo lectura en equipos de varios procesadores o de varios núcleos. El valor predeterminado de esta propiedad es 0 ( RowsetCacheSize=0 ), que indica que la característica de captura previa opcional es "off". Se recomienda establecer un valor entre 10 y 100, con un valor recomendado inicial de 10, que puede ajustar mediante el cuadro de diálogo Todo del Asistente para orígenes de datos o vínculos de datos. Esta propiedad indica al proveedor de datos que recupere previamente el número especificado de lotes de filas, que se almacenan en la memoria caché del conjunto de filas del proveedor de datos. El tamaño de los lotes de filas se determina automáticamente en función del valor de cRows en la interfaz IRowset::GetNextRows de OLE DB especificada por el consumidor.
Aplazar la preparación de comandos con parámetros hasta la ejecución
Aplazar Prepare indica al proveedor de datos que optimice el procesamiento de comandos INSERT, UPDATE, DELETE y SELECT parametrizados. Puede especificar esta opción mediante la cadena de inicialización del origen de datos OLE DB (Defer Prepare=True). Además, puede configurar la agrupación mediante el cuadro de diálogo Avanzado del Asistente para orígenes de datos y el cuadro de diálogo Todos los vínculos de datos. Para los comandos INSERT, UPDATE y DELETE, el proveedor de datos combina comandos de preparación, ejecución y confirmación en un flujo de red a la base de datos remota. Para el comando SELECT, el proveedor de datos combina comandos de preparación y ejecución en un flujo de red. Esto minimiza el tráfico de red y mejora con frecuencia el rendimiento general.
Tiempo de espera del comando para finalizar las consultas de ejecución prolongada
El proveedor OLE DB para Informix ofrece una propiedad de tiempo de espera de comandos para permitir que los desarrolladores finalicen automáticamente las consultas de larga duración que pueden afectar negativamente al rendimiento.
El valor predeterminado del conjunto de filas OLE DB DBPROP_COMMANDTIMEOUT es 0, lo que significa que no se ha agotado el tiempo de espera. Puede especificar el valor para el tiempo de espera del comando de una variedad de consumidores, como los que se encuentran en SQL Server 2008 R2.
Medición del rendimiento
Para medir el rendimiento, el proveedor de datos ofrece contadores de rendimiento. De forma predeterminada, los contadores de rendimiento están desactivados. Se pueden activar cambiando el valor de la siguiente clave del Registro a 1:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Host Integration Server\Data Integration\UpdateCounters = 1
Los contadores de rendimiento del proveedor de datos capturan información sobre conexiones abiertas, instrucciones abiertas, paquetes y bytes enviados o recibidos, tiempo medio de procesamiento del host (servidor Informix), ejecuciones de comandos, capturas de datos y confirmaciones o reversiones de transacciones.