我有一个返回数组的函数,我从 java 调用这个函数来获取值。
PL/SQL 代码
create or replace type dates
is array(10000) of varchar2(32)
功能
CREATE OR REPLACE function datefunc (
id1 IN number,
id2 IN NUMBER
)
RETURN dates
AS
datearray dates;
sdate VARCHAR2 (32);
edate VARCHAR2 (32);
BEGIN
Java代码
connection = datacon.getConnection();
callablestatement =
connection.prepareCall("begin ? :=datefunc(?,?,?); end;");
callablestatement.registerOutParameter
(1, OracleTypes.ARRAY,"dates");
callablestatement.setInt(2, param1);
callablestatement.setInt(3, param2);
callablestatement.execute();
但是当我执行代码时,我得到了
java.sql.SQLException: invalid name pattern: schema.dates
这可能是什么原因以及如何解决此错误?
谢谢
最佳答案
必须是大写:
callablestatement.registerOutParameter(1, OracleTypes.ARRAY,"DATES");
更新:哦,我发现我在哪里看到了类似的问题:https://stackoverflow.com/a/2787880/617455
关于java - 访问plsql函数时出错: invalid name pattern,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10794272/