oracle 无法从ESQL中的存储过程获取结果集?

qmelpv7a  于 2023-03-01  发布在  Oracle
关注(0)|答案(2)|浏览(164)

我正在从esql.调用外部存储过程,其中input也是clob,output也是clob。
我必须发送输入并从Oracle数据库存储过程获得响应。
但我收到错误未找到SQL类型0错误...
有什么建议...

消息代理#IIB #ESQL

调用pro_call(P_数据库对象,P_初始化_记录)进入V_返回;

CREATE PROCEDURE pro_call(IN P_REQUEST CHAR ,IN P_INIT_LOGGING BOOLEAN) 
RETURNS CHAR
LANGUAGE DATABASE 
EXTERNAL NAME "INTERFACE.LPB_SERVICING.GET_SERVICE";

我试过了,但得到错误响应。
请让我们知道,如果任何人使用这个,并获得成功的回应。

iyfjxgzm

iyfjxgzm1#

我认为问题出在声明中的BOOLEAN参数上,Oracle SQL没有BOOLEAN类型,所以在ESQL BOOLEAN和Oracle类型之间没有Map。
https://www.ibm.com/docs/en/app-connect/11.0.0?topic=functions-data-types-values-from-external-databases

9vw9lbht

9vw9lbht2#

我从iib中得到了以下异常:

创建过程compasscall(在P_请求字符中,在P_INIT_日志记录布尔中)返回字符语言数据库外部名称"接口. LPB_服务. GET_服务";
调用指南针调用(P_DATA_CLOB,P_INIT_LOGGING)到Pro_Request1;

**为此,出现以下错误:**文本:字符:[IBM][ODBC Oracle有线协议驱动程序]不支持SQL类型:0

调用罗盘调用(Pro_Request,Pro_Request_Flag,环境.结果集[]);
创建过程compasscall(在Pro_Request字符中,在Pro_Request_Flag布尔中)语言数据库动态结果集1外部名称"INTERFACE. LPB_SERVICING. get_service";

****对于此方法,在iib中收到以下错误:**文本:字符:**具有'&2'参数的过程'&1'不能与相应的数据库存储的采购匹配。插入类型:整数:5文本:字符:LPBTEST. INTERFACE. LPB_SERVICING. GET_SERVICE插入类型:整数:2文本:字符:2

相关问题