ESQL 到 Java 的数据类型映射表

下表总结了 ESQL 到 Java 的映射。
注:
  • 仅 Java 标量包装器传递给 Java。
  • 根据过程参数的方向,ESQL 标量类型作为对象包装器或对象包装器数组映射到 Java 数据类型。每个包装器数组只包含一个元素。
  • 标量对象包装器允许在 Java 方法间传递 NULL 值。
ESQL 数据类型 1 Java IN 数据类型 Java INOUT 和 OUT 数据类型
INTEGER、INT java.lang.Long java.lang.Long []
FLOAT java.lang.Double java.lang.Double[]
DECIMAL java.math.BigDecimal java.math.BigDecimal[]
CHARACTER、CHAR java.lang.String java.lang.String[]
BLOB byte[] byte[][]
BIT java.util.BitSet java.util.BitSet[]
DATE com.ibm.broker.plugin.MbDate com.ibm.broker.plugin.MbDate[]
TIME 2 com.ibm.broker.plugin.MbTime com.ibm.broker.plugin.MbTime[]
GMTTIME 2 com.ibm.broker.plugin.MbTime com.ibm.broker.plugin.MbTime[]
TIMESTAMP 2 com.ibm.broker.plugin.MbTimestamp com.ibm.broker.plugin.MbTimestamp[]
GMTTIMESTAMP 2 com.ibm.broker.plugin.MbTimestamp com.ibm.broker.plugin.MbTimestamp[]
INTERVAL 不支持 不支持
BOOLEAN java.lang.Boolean java.lang.Boolean[]
REFERENCE(针对消息树)3 4 5 6 com.ibm.broker.plugin.MbElement com.ibm.broker.plugin.MbElement[] (支持 INOUT。不支持 OUT)
ROW 不支持 不支持
LIST 不支持 不支持
  1. 声明为 CONSTANT 的变量(或对声明为 CONSTANT 的变量的引用)不允许有方向 INOUT 或 OUT。
  2. Java 变量中设置的时区不重要;在输出 ESQL 中可以获得所需的时区。
  3. 引用参数在传递到 Java 方法时不能为 NULL。
  4. 引用参数在传递到 Java 方法时不能有方向 OUT。
  5. 如果 MbElement 作为 INOUT 参数从 Java 传回 ESQL,它必须指向消息树中的一个位置,传递到被调用 Java 方法的 MbElement 也指向此消息树。

    例如,如果对 OutputRoot.XML.Test 的 ESQL 引用作为 INOUT MbElement 传递到 Java 方法,但是调用返回时另一个 MbElement 被传回到 ESQL,那么此元素必须也指向 OutputRoot 树中的某个位置。

  6. 由于 ESQL 例程无法返回引用,因此使用 RETURNS 子句无法从 Java 方法返回 MbElement。但是如果符合上述第 5 点中所述的条件,MbElement 也可以作为 INOUT 方向参数返回。

如果引用所引用的变量数据类型与 Java 程序特征符中相应的数据类型相匹配,则可以在 Java 方法的 CALL 中使用对标量变量的引用。

相关参考
CREATE PROCEDURE 语句
声明 | 商标 | 下载 | 书库 | 支持 | 反馈
Copyright IBM Corporation 1999, 2006 最后一次更新时间:2006/08/14
ak20708_