Consejo |
---|
Antes de especificar un CCSID al habilitar una columna de texto, consulte el apartado Evitar problemas de página de códigos al almacenar y habilitar texto |
Pueden indexarse los documentos si están en uno de los CCSID de la tabla de más abajo.
Nota: | DB2 no da soporte a los CCSID 861, 865 y 4946. Para indexar documentos que tienen estos CCSID, almacene los documentos en una columna con un tipo de datos binario (BLOB o FOR BIT DATA). |
Las áreas siguientes tienen valores de páginas de códigos:
Cuando almacena documentos en una columna de base de datos DB2 que tiene un tipo de datos de caracteres como, por ejemplo, VARCHAR y CLOB, DB2 supone que cada documento tiene la misma página de códigos que el entorno de la aplicación activa y convierte el documento desde esa página de códigos a la página de códigos de la base de datos. La página de códigos de la base de datos es ya la misma que la del entorno de la aplicación activa (no tiene lugar ninguna conversión) o es la página de códigos que ha especificado al crear la base de datos y que era diferente a la página de códigos de la aplicación (se efectúa la conversión).
Cuando almacena datos en una base de datos DB2, en una columna que tiene un tipo de datos binario como, por ejemplo, BLOB o FOR BIT DATA, DB2 no convierte los datos y los documentos conservan sus CCSID originales.
Figura 5. Cómo establece DB2 el CCSID de un documento de base de datos
![]() |
Cuando habilita una columna de texto para que DB2 Text Extender la utilice, es decir, cuando utiliza el mandato ENABLE TEXT COLUMN para crear un índice para la búsqueda, la página de códigos del índice se establece en la página de códigos de la base de datos (por omisión) o en el valor por omisión actual que puede establecerse utilizando el mandato CHANGE TEXT CONFIGURATION o en la página de códigos que ha especificado en el mandato ENABLE TEXT COLUMN.
Figura 6. Cómo establece DB2 Text Extender el CCSID de un índice de texto
![]() |
Durante la búsqueda, se utiliza el CCSID de la base de datos para interpretar el CCSID de la serie de búsqueda.
Figura 7. La búsqueda utiliza el CCSID de la base de datos
![]() |
Así es cómo se comprueban los valores de la página de códigos:
db2 get db cfg
db2tx get text cfg
Para evitar problemas de página de códigos es importante coordinar sus valores correctamente:
Correcto. DB2 supone correctamente que el documento tiene la misma página de códigos que el entorno y, puesto que la base de datos tiene la misma página de códigos que el entorno, DB2 no realiza ninguna conversión, almacenando el documento con la página de códigos 850 en la base de datos. Cuando luego se habilita la columna de texto y se toma el valor de página de códigos por omisión (850, la página de códigos de la base de datos), el documento se indexa correctamente en el índice de página de códigos 850.
Correcto. DB2 supone correctamente que el documento tiene la misma página de códigos que el entorno y realiza una conversión de la página de códigos 1252 a 850 al almacenar el documento en la base de datos. Cuando luego habilita la columna de texto y toma el valor de página de códigos por omisión 850 (la página de códigos de la base de datos), el documento se indexa correctamente en el índice de página de códigos 850.
Error. DB2 supone incorrectamente que el documento (página de códigos 850) tiene la misma página de códigos que el entorno (página de códigos 1252) y realiza una conversión incorrecta desde la página de códigos 1252 a 850 al almacenar el documento en la base de datos.
Correcto. DB2 supone incorrectamente que el documento tiene la misma página de códigos que el entorno, pero, puesto que la página de códigos del entorno es la misma que la de la base de datos, DB2 no realiza ninguna conversión, almacenando el documento en la base de datos, en la página de códigos 850. Sin embargo, cuando luego habilite la columna de texto, debe especificar la página de códigos de documento 850 para que el documento se indexe correctamente en el índice de página de códigos 850.
Posible error. DB2 supone correctamente que el documento tiene la misma página de códigos 1252 que el entorno y convierte el documento a la página de códigos 850 al almacenarlo en la base de datos. El posible error se produce si luego especifica la página de códigos original del documento 1252 cuando habilita la columna de texto para el índice de página de códigos 850. La acción correcta sería tomar el valor de página de códigos por omisión 850 (la página de códigos de la base de datos).