Datentypen von Werten aus externen Quellen

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

Der ESQL-Datentyp von Nachrichtenfeldern ist vom Typ der Nachricht (z. B. XML) und dem Parser zur Analyse der Nachricht abhängig. Der ESQL-Datentyp des von einem Datenbankspaltenbezugs zurückgegebenen Wertes ist vom Datentyp der Spalte in der Datenbank abhängig.

Die folgende Tabelle zeigt, in welche ESQL-Datentypen die verschiedenen integrierten Datentypen der Datenbankverwaltungssysteme umgesetzt werden, wenn WebSphere Message Broker darauf zugreift.

Dabei handelt es sich um die Datenbankverwaltungssysteme DB2 (mit dem Produkt gelieferte 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, erfolgt eine Umsetzung in einen ESQL-DECIMAL-Wert, andernfalls in einen FLOAT-Wert.
    Beispielsweise wird in der ESQL-Anweisung
    SET OutputRoot.xxx[]
    = (SELECT T.department FROM Database.personnel AS T);

    der Wert Database.personnel in eine TINYINT-Spalte in einer SQL Server-Datenbanktabelle aufgelöst. Das Ergebnis ist eine Liste mit ESQL-INTEGER-Werten, die OutputRoot.xxx zugeordnet werden.

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

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