【问题标题】:java.lang.NullPointerException while getting a cursor in JDBC在 JDBC 中获取游标时出现 java.lang.NullPointerException
【发布时间】:2013-10-21 21:20:26
【问题描述】:

我在访问过程作为输出参数返回的游标时遇到 java.lang.NullPointerException。

以下是详细信息:

    CallableStatement pstmt = conn.prepareCall("{call PKP_UTIL.GET_VALUE(?,?,?)}");
    pstmt.setObject(1, parameter1);
    pstmt.setObject(2, parameter2);
    pstmt.registerOutParameter(3, OracleTypes.CURSOR);

    pstmt.executeUpdate(); //in this line all goes wrong

    ResultSet rs = (ResultSet)pstmt.getObject(3);

    while (rs.next()) {
         System.out.println(rs.getString(1) + "\t" + rs.getFloat(2) + "\t" + rs.getDate(3).toString());

    }

申请详情如下: - Tomcat 6 上的 Restful WS - 甲骨文 11g ((11.2.0.2.0) - JDK 1.7 - JDBC 瘦驱动程序

如果我在桌面应用程序上尝试相同的代码,它就像一个魅力。

【问题讨论】:

    标签: java oracle rest tomcat nullpointerexception


    【解决方案1】:

    pstmt.executeUpdate(); //这一行都出错了

    不足为奇。应该是execute().executeUpdate() 的Javadoc 明确表示该语句必须是'SQL 数据操作语言(DML) 语句,例如INSERT、UPDATE 或DELETE;或不返回任何内容的 SQL 语句,例如 DDL 语句。'

    【讨论】:

    • 您对文档的看法是正确的,但这不是问题,我更改了它,但异常仍然存在
    猜你喜欢
    • 2011-06-09
    • 2012-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-06-18
    • 2023-04-03
    • 2015-08-12
    相关资源
    最近更新 更多