Tipos de datos de valores de fuentes externas

Hay dos fuentes externas de las que ESQL puede extraer datos:
  • Campos de mensajes
  • Columnas de base de datos

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

La tabla siguiente muestra a qué tipos de datos ESQL se transforman los diversos tipos de datos DBMS incorporados cuando WebSphere Business Integration Message Broker accede a ellos.

Los productos DBMS son DB2 (versión enviada 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
Note:
  1. Si una columna de base de datos Oracle con el tipo de datos NUMBER está definida con precisión (P) y escala (S) explícitas, se transforma en un valor DECIMAL de ESQL; de lo contrario, se transforma en FLOAT.
    Por ejemplo, una sentencia ESQL como esta:
    SET OutputRoot.xxx[]
     = (SELECT T.department FROM Database.personnel AS T);

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

    En contraste, una consulta idéntica en la que Database.personnel se resuelve en una columna NUMBER() de una base de datos Oracle, produce como resultado una lista de valores FLOAT de ESQL que se asignan a OutputRoot.xxx.

Conceptos relacionados
ESQL

Tareas relacionadas
Desarrollo de ESQL

Referencia relacionada
Funciones ESQL complejas
Especificación CAST
Transformaciones soportadas
Transformaciones CAST implícitas