O ESQL pode extrair os dados das duas fontes externas: campos de mensagens e colunas de banco de dados.
O tipo de dados ESQL de campos de mensagens depende do tipo da mensagem (por exemplo, XML) e do analisador utilizado para analisá-lo. O tipo de dados ESQL do valor retornado por uma referência de coluna do banco de dados depende do tipo de dados da coluna no banco de dados.
A tabela a seguir mostra em quais tipos de dados ESQL os diversos tipos de dados do banco de dados internos são convertidos, quando são acessados por fluxos de mensagens que estão em execução em um intermediário.
As versões suportadas para os produtos de banco de dados mostradas nesta tabela estão listadas em Bancos de Dados Suportados.
Tipo de D]ados | DB2 | SQL Server e 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 |
HORA | HORA | |||
GMTTIME | ||||
DATE | DATE | DATE | ||
TIMESTAMP | TIMESTAMP | ![]() ![]() |
DATE | DATETIME |
GMTTIMESTAMP | ||||
INTERVAL | INTERVAL | |||
BLOB | BLOB | ![]() ![]() |
RAW LONG, RAW BLOB | |
BIT |
SET OutputRoot.xxx[] = (SELECT T.department FROM Database.personnel AS T);
em que Database.personnel é resolvido para uma coluna TINYINT em uma tabela do banco de dados do SQL Server, resulta em uma lista de valores ESQL INTEGER, sendo designados a OutputRoot.xxx .
Por comparação, uma consulta idêntica, em que Database.personnel é resolvido para uma coluna NUMBER() em um banco de dados Oracle, resulta em uma lista de valores ESQL FLOAT sendo designados a OutputRoot.xxx.