java - 访问plsql函数时出错: invalid name pattern

标签 java oracle jdbc plsql

我有一个返回数组的函数,我从 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/

相关文章:

java - Android X : tools:replace specified at line: for attribute, 但未指定新值

sql - 使用嵌套表时如何避免在触发器中改变表,并更新到另一个表?

oracle - 蟾蜍分割我的输出

java - 为什么在本地网络中使用XAMPP无法连接MySQL和Java

java - 无法将 mysql 驱动程序与 Wildfly 9.0.2 一起使用,但它似乎已正确加载

java - 使用带有 OCI 驱动程序的 OracleDataSource 获取失效连接

java - 如何通过 session 检查新用户的 servlet?

java - 奇偶数交替倒三角形

java - 配置 JMX 导出器时 Kafka 无法启动

mysql - 支持分页查询的数据库最低版本