Tipos de datos de valores de fuentes externas

Hay dos fuentes externas de las que se pueden extraer datos mediante ESQL:
  • Campos de mensaje
  • Columnas de base de datos

El tipo de datos ESQL de los campos de mensaje depende del tipo del mensaje (XML, por ejemplo) 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 a qué tipos de datos ESQL se les efectúa una transformación CAST en los diferentes tipos de datos DBMS incorporados cuando se accede a los mismos mediante WebSphere Message Broker.

Los productos DBMS son DB2 (versión incluida con el producto), SQL Server Versión 7.0, Sybase Versión 12.0 y Oracle Versión 8.1.5

  DB2 SQL Server y Sybase Oracle
BOOLEAN   BIT  
INTEGER SMALLINT, INTEGER, BIGINT INT, SMALLINT, TINYINT  
FLOAT REAL, DOUBLE FLOAT, REAL NUMBER()1
DECIMAL DECIMAL DECIMAL, NUMERIC, MONEY, SMALLMONEY NUMBER(P)1, NUMBER(P,S)1
CHARACTER CHAR, VARCHAR, CLOB CHAR, VARCHAR, TEXT CHAR, NCHAR, VARCHAR2, NVARCHAR2, ROWID, UROWID, LONG, CLOB,
TIME TIME    
GMTTIME      
DATE DATE    
TIMESTAMP TIMESTAMP DATETIME, SMALLDATETIME DATE
GMTTIMESTAMP      
INTERVAL      
BLOB BLOB BINARY, VARBINARY, TIMESTAMP, IMAGE, UNIQUEIDENTIFIER RAW LONG, RAW BLOB
BIT      
No soportado DATALINK, GRAPHIC, VARGRAPHIC, DBCLOB NTEXT, NCHAR, NVARCHAR NCLOB, BFILE
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
Funciones ESQL complejas
Función CAST
Transformaciones CAST soportadas
Transformaciones CAST implícitas
Avisos | Marcas registradas | Descargas | Biblioteca | Soporte | Su opinión
Copyright IBM Corporation 1999, 2006 Última actualización: 22/08/2006
ak05730_