试图调用SQL过程:
PROCEDURE Incident_inqr
(MSISDN IN VARCHAR2
, Topic IN varchar2
,Incident_id IN varchar2 default '20120401'
, RESULT OUT number
);JDBC字符串:
SQL command: begin ? := SMASTER.SERVICE.Incident_inqr ( '9308000050','6345_NN','20120401', ?); end;错误(我用俄语得到):
SQL异常-代码: 6550 ORA-06550:Строка1,столбец13: PLS-00222:функциясименем'INCIDENT_INQR‘несуществуетвэтойобластидействияORA-06550:Строка1,столбец7: PL/SQL:忽略语句
翻译:
SQL异常-代码: 6550 ORA-06550:第1行,第13列: PLS-00222:名为'INCIDENT_INQR‘的函数不存在于此操作区域ORA-06550:第1行,第7列: PL / SQL:忽略语句
输出?注册:
cs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.VARCHAR);
cs.registerOutParameter(2, oracle.jdbc.driver.OracleTypes.NUMBER);发布于 2012-03-30 11:04:18
Incident_inqr是一种程序。所以它没有返回值,只有out参数。
因此,正确的称呼方式是:
begin SMASTER.SERVICE.Incident_inqr ( '9308000050','6345_NN','20120401', ?); end;..。
cs.registerOutParameter(1, oracle.jdbc.driver.OracleTypes.NUMBER);此外,该过程需要是模式/属于用户SMASTER的称为“服务”的包的一部分。
发布于 2021-08-01 05:39:46
请确保在元数据/代码中使用以下名称格式调用该过程:SCHEMA_USERNAME.PACKAGE_NAME.PROCEDURE_NAME
https://stackoverflow.com/questions/9940593
复制相似问题