Tipos de datos de valores de fuentes externas

ESQL puede extraer datos de dos fuentes externas: campos de mensajes y columnas de base de datos.

El tipo de datos ESQL de los campos de mensaje depende del tipo del mensaje (por ejemplo XML) y el analizador que se utilice para analizarlo. El tipo de datos ESQL de valor que devuelve una referencia de columna de base de datos depende del tipo de datos de la columna de la base de datos.

La tabla siguiente muestra en qué tipos de datos ESQL se han convertido los diversos tipos de datos de base de datos incorporados, cuando los flujos de mensajes que se ejecutan en un intermediario acceden a ellos.

Las versiones que se soportan para los productos de base de datos mostrados en esta tabla se listan en Bases de datos soportadas.

Tipo de datos DB2 SQL Server y Sybase Oracle Informix
BOOLEAN   BIT    
INTEGER SMALLINT, INTEGER, BIGINT INT, SMALLINT, TINYINT   INT, SMALLINT
FLOAT REAL, DOUBLE FLOAT, REAL NUMBER()1 FLOAT, SMALLFLOAT, DOUBLE
DECIMAL DECIMAL DECIMAL, NUMERIC, MONEY, SMALLMONEY NUMBER(P)1, NUMBER(P,S)1 DECIMAL, MONEY
CHARACTER CHAR, VARCHAR, CLOB CHAR, VARCHAR, TEXT CHAR, VARCHAR2, ROWID, UROWID, LONG, CLOB CHAR, VARCHAR, CHAR VARYING
TIME TIME      
GMTTIME        
DATE DATE     DATE
TIMESTAMP TIMESTAMP Inicio del cambioDATETIME, SMALLDATETIME, TIMESTAMPFin del cambio DATE DATETIME
GMTTIMESTAMP        
INTERVAL       INTERVAL
BLOB BLOB Inicio del cambioBINARY, VARBINARY, IMAGE, UNIQUEIDENTIFIERFin del cambio RAW LONG, RAW BLOB  
BIT        
Nota:
  1. Si se define una columna de base de datos Oracle cuyo tipo de datos es NUMBER con una precisión (P) y escala (S) explícitas, se efectúa la transformación CAST en un valor DECIMAL de ESQL, de lo contrario, se efectúa la transformación CAST en un valor FLOAT.
    Por ejemplo, una sentencia ESQL como la siguiente:
    SET OutputRoot.xxx[]
     = (SELECT T.department FROM Database.personnel AS T);

    donde Database.personnel se resuelve en una columna TINYINT en una tabla de base de datos de SQL Server, da como resultado que se asigne una lista de valores ESQL INTEGER a OutputRoot.xxx.

    Por el contrario, una consulta idéntica en la que Database.personnel se resuelve en una columna NUMBER() de una base de datos Oracle, da como resultado que se asigne una lista de valores ESQL FLOAT a OutputRoot.xxx.

Conceptos relacionados
Visión general de ESQL
Tareas relacionadas
Desarrollo de ESQL
Referencia relacionada
Soporte para datos Unicode y DBCS en las bases de datos
Funciones ESQL complejas
Función CAST
Transformaciones CAST soportadas
Transformaciones CAST implícitas
Bases de datos soportadas
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión

Copyright IBM Corporation 1999, 2009Copyright IBM Corporation 1999, 2009.
Última actualización : 2009-02-16 13:55:36

ak05730_