Tipos de Dados de Valores de Origens Externas

Existem duas origens externas a partir das quais os dados podem ser extraídos pelo ESQL:
  • Campos de mensagens
  • Colunas do banco de dados

O tipo de dados ESQL dos campos de mensagens depende do tipo da mensagem (XML por exemplo) e do analisador utilizado para analisá-los. 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 para quais tipos de dados ESQL os vários tipos de dados internos DBMS são lançados quando acessados pelo WebSphere Message Broker.

Os produtos DBMS são DB2 (versão enviada com o produto), SQL Server Versão 7.0, Sybase Versão 12.0 e Oracle Versão 8.1.5

  DB2 SQL Server e 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,
HORA HORA    
GMTTIME      
DATE DATE    
TIMESTAMP TIMESTAMP DATETIME, SMALLDATETIME DATE
GMTTIMESTAMP      
INTERVAL      
BLOB BLOB BINARY, VARBINARY, TIMESTAMP, IMAGE, UNIQUEIDENTIFIER RAW LONG, RAW BLOB
BIT      
Não Suportado DATALINK, GRAPHIC, VARGRAPHIC, DBCLOB NTEXT, NCHAR, NVARCHAR NCLOB, BFILE
Nota:
  1. Se uma coluna do banco de dados Oracle com o tipo de dados NUMBER estiver definida com uma precisão (P) e escala (S) explícitas, ela será lançada para um valor ESQL DECIMAL; de outra maneira, será lançada para um FLOAT.
    Por exemplo, uma instrução ESQL semelhante à seguinte:
    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.

Conceitos relacionados
Visão Geral do ESQL
Tarefas relacionadas
Desenvolvendo ESQL
Referências relacionadas
Funções Complexas ESQL
Função CAST
Coerções Suportadas
Casts Implícitos
Avisos | Marcas Registradas | Downloads | Biblioteca | Suporte | Feedback
Direitos Autorais IBM Corporation 1999, 2006 Última Atualização: 1 Sep 2006
ak05730_