我正在从 esql 调用外部存储过程,其中输入也是 clob,输出也是 clob。
我必须发送输入并从 Oracle DB 存储过程获得响应。
但是我收到错误消息 SQL TYPE NOT FOUND 0 Error...
任何建议...
#MessageBroker #IIB #ESQL
CALL pro_call(P_DATA_CLOB,P_INIT_LOGGING) INTO V_RETRUN;
CREATE PROCEDURE pro_call(IN P_REQUEST CHAR ,IN P_INIT_LOGGING BOOLEAN)
RETURNS CHAR
LANGUAGE DATABASE
EXTERNAL NAME "INTERFACE.LPB_SERVICING.GET_SERVICE";
已经试过了,但是收到错误响应。
请让我们知道是否有人使用过它并获得成功响应。
我认为问题出在声明中的 BOOLEAN 参数。 Oracle SQL 没有 BOOLEAN 类型,因此 ESQL BOOLEAN 和 Oracle 类型之间没有映射。
CREATE PROCEDURE compasscall(在 P_REQUEST CHAR 中,在 P_INIT_LOGGING BOOLEAN 中)返回 CHAR 语言数据库外部名称“INTERFACE.LPB_SERVICING.GET_SERVICE”;
CALL compasscall(P_DATA_CLOB,P_INIT_LOGGING) INTO Pro_Request1;
CALL compasscall(Pro_Request,Pro_Request_Flag,Environment.Resultset[]);
CREATE PROCEDURE compasscall(在 Pro_Request 字符中,在 Pro_Request_Flag BOOLEAN 中) 语言数据库动态结果集 1 外部名称“INTERFACE.LPB_SERVICING.get_service”;
对于此方法,在 iib 中收到以下错误: 文本:字符:带有“&2”参数的过程“&1”无法与相应的数据库存储过程匹配。 插入 类型:整数:5 文本:字符:LPBTEST.INTERFACE.LPB_SERVICING.GET_SERVICE 插入 类型:整数:2 文本:字符:2