Datentypen von Werten aus externen Quellen

Es gibt zwei externe Quellen, aus denen Daten mit ESQL extrahiert werden können:
  • Nachrichtenfelder
  • Datenbankspalten

Der ESQL-Datentyp von Nachrichtenfeldern hängt vom Typ der Nachricht (z. B. XML) und von dem Parser ab, der für deren Syntaxanalyse verwendet wird. Der ESQL-Datentyp des Wertes, der von einem Datenbankspaltenverweis zurückgegeben wird, hängt vom Datentyp der Spalte in der Datenbank ab.

In der folgenden Tabelle ist dargestellt, in welche ESQL-Datentypen die verschiedenen integrierten DBMS-Datentypen umgesetzt werden, wenn WebSphere Message Broker auf sie zugreift.

Zu den DBMS-Produkten gehören DB2 (im Lieferumfang des Produkts enthaltene Version), SQL Server Version 7.0, Sybase Version 12.0 und Oracle Version 8.1.5.

  DB2 SQL Server und 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      
Wird nicht unterstützt DATALINK, GRAPHIC, VARGRAPHIC, DBCLOB NTEXT, NCHAR, NVARCHAR NCLOB, BFILE
Hinweis:
  1. Wenn eine Oracle-Datenbankspalte mit dem Datentyp NUMBER mit einer expliziten Genauigkeit (P) und Anzahl der Kommastellen (S) definiert wird, wird sie einen ESQL-Wert vom Typ DECIMAL umgesetzt; andernfalls wird sie in einem Wert vom Typ FLOAT umgesetzt.
    Beispielsweise ergibt die ESQL-Anweisung:
    SET OutputRoot.xxx[]
     = (SELECT T.department FROM Database.personnel AS T);

    wobei Database.personnel zu einer TINYINT-Spalte in einer SQL Server-Datenbanktabelle aufgelöst wird, eine Liste mit ESQL-Werten vom Typ INTEGER, die OutputRoot.xxx zugeordnet werden.

    Im Gegensatz dazu ergibt eine identische Abfrage, bei der Database.personnel zu einer NUMBER()-Spalte in einer Oracle-Datenbank aufgelöst wird, eine Liste mit ESQL-Werten vom Typ FLOAT, die OutputRoot.xxx zugeordnet werden.

Zugehörige Konzepte
Übersicht zu ESQL
Zugehörige Tasks
ESQL erstellen
Zugehörige Verweise
Komplexe ESQL-Funktionen
CAST-Funktion
Unterstützte Umsetzungen
Implizite Umsetzungen
Bemerkungen | Marken | Downloads | Bibliothek | Unterstützung | Rückmeldung
Copyright IBM Corporation 1999, 2006 Letzte Aktualisierung: 23. Aug. 2006
ak05730_