【问题标题】:SQLSyntaxErrorException: ORA-00900: invalid SQL statement running sql function from jdbcSQLSyntaxErrorException: ORA-00900: 从 jdbc 运行 sql 函数的 SQL 语句无效
【发布时间】:2018-02-04 03:18:07
【问题描述】:

我有以下java代码:

void insertRatings(String Rname , String uName ,BigDecimal rating , String rDate) throws SQLException, ParseException
    {
        CallableStatement cs = conn.prepareCall("? = call insertRating(?,?,?,?) ");

        cs.registerOutParameter(1, Types.INTEGER);
        cs.setString(2, Rname);
        cs.setString(3, uName);
        cs.setBigDecimal(4, rating);
        cs.setDate(5,new Date(new SimpleDateFormat("dd/MM/yyyy").parse(rDate).getTime()));


        cs.executeQuery();

        System.out.println("Output recived from fucntion :: "+cs.getInt(1));

    }

而SQL函数是:

create or replace function insertRating(Rname varchar2(100),uName varchar2(100),rating Number,
rDate Date) return Integer is

SQL 函数按预期工作。但是,当我运行 java 代码时,我收到以下错误 cs.executeQuery();

Exception in thread "main" java.sql.SQLSyntaxErrorException: ORA-00900: invalid SQL statement

我错过了什么?

【问题讨论】:

标签: oracle jdbc sql-function


【解决方案1】:

我得到了解决方案:

CallableStatement cs = conn.prepareCall(" { ? = call insertRating(?,?,?,?) }");

“{}”是我所缺少的。

我希望有人。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-12-29
    • 2011-07-17
    • 1970-01-01
    • 2019-10-17
    • 1970-01-01
    • 2011-01-21
    • 1970-01-01
    相关资源
    最近更新 更多