Documentation
(C) IBM Corp. 1996, 2000

DB2 Text Extender Administración y programación


Establecimiento y extracción de información en descriptores de contexto

Los descriptores de contexto contienen el CCSID, el formato y el idioma de los documentos de texto. Los descriptores de contexto para archivos externos contienen, además, un puntero para el archivo externo. Estos descriptores de contexto se crean al habilitar una columna de texto o los archivos externos.

Las funciones de DB2 Text Extender descritas aquí le permiten establecer o cambiar la información de texto de los descriptores de texto.

Establecimiento de información de texto al insertar nuevo texto

>>-INIT_TEXT_HANDLE--------------------------------------------->
 
>-----+-(--formato--,--idioma--)------------------------------+-><
      '-(--CCSID--,--formato--,--idioma--,--nombrearchivo--)--'
 

Cuando ejecute el mandato ENABLE TEXT COLUMN para habilitar una columna de texto que ya contiene texto, puede establecer implícitamente el formato y el idioma del texto en los valores especificados en los valores de configuración del texto. Estos valores de formato y de idioma se almacenan entonces en el descriptor de contexto. Si desea establecer valores de formato y de idioma diferentes, puede especificarlos explícitamente en el mandato ENABLE TEXT COLUMN.

Cuando ejecute el mandato ENABLE TEXT FILES, también puede establecer el CCSID y la ubicación del documento.

Luego, al insertar una fila que contenga texto, un desencadenante de inserción crea un descriptor de contexto y establece el formato y el idioma del texto en los valores que se han utilizado cuando se ha habilitado la columna de texto.

Para establecer el formato y el idioma en valores diferentes a estos, utilice la función INIT_TEXT_HANDLE en el mandato INSERT. Mientras se inserta la fila, la función INIT_TEXT_HANDLE crea un descriptor de contexto inicializado parcialmente que contiene los valores de idioma y de formato que especifique. Entonces el desencadenante de inserción rellena los demás valores del descriptor de contexto.

En el ejemplo siguiente, INIT_TEXT_HANDLE preestablece el idioma y el formato en el descriptor de contexto inicializado. El mandato INSERT coloca este descriptor de contexto en la columna COMMENTHANDLE.

db2=>INSERT INTO DB2TX.SAMPLE (DOCID, COMMENT, COMMENTHANDLE)
            VALUES ('doc 101',
                    'I have installed...',
                    DB2TX.INIT_TEXT_HANDLE('AMI', 'GERMAN') )

El valor que INIT_TEXT_HANDLE devuelve es de tipo DB2TEXTH o DB2TEXTFH.

Extracción de información de descriptores de contexto

>>-+-CCSID----+--(--descriptor-contexto--)---------------------><
   +-FORMAT---+
   +-LANGUAGE-+
   '-FILE-----'
 

Este es un ejemplo de extracción de un CCSID de un descriptor de contexto:

db2=>SELECT DISTINCT DB2TX.CCSID(COMMENTHANDLE)
            FROM DB2TX.SAMPLE

De la misma manera, puede extraer el formato o el idioma de un documento de texto o la ubicación de los archivos externos. Este es un ejemplo que ilustra la utilización de la función FORMAT. Devuelve el número de documentos ASCII (TDS) de la tabla de ejemplo.

db2=>SELECT COUNT(*)
            FROM DB2TX.SAMPLE
            WHERE DB2TX.FORMAT(COMMENTHANDLE) = 'TDS'

Cambio de la información de los descriptores de contexto

>>-+-FORMAT--(--descriptor-contexto--,--formato--)-------------+->
   +-LANGUAGE--(--descriptor-contexto--,--idioma--)------------+
   '-FILE--(--descriptor-contexto--,--vía-y-nombre-archivo--)--'
 
>--------------------------------------------------------------><
 

Las funciones FORMAT y LANGUAGE también pueden cambiar la especificación correspondiente en un descriptor de contexto. Estas funciones devuelven el descriptor de contexto cambiado como un valor de tipo DB2TEXTH o DB2TEXTFH.

El ejemplo siguiente muestra cómo cambiar el valor del idioma de un documento de texto.

db2=>UPDATE DB2TX.SAMPLE
            SET COMMENTHANDLE = DB2TX.LANGUAGE(COMMENTHANDLE, 'FRENCH')
            WHERE ...

Si vuelve a utilizar la función LANGUAGE de nuevo, puede ver que se ha producido el cambio:

db2=>SELECT DISTINCT DB2TX.LANGUAGE(COMMENTHANDLE)
            FROM DB2TX.SAMPLE


[ Principio de página | Página anterior | Página siguiente | Contenido | Índice ]