gpt4 book ai didi

java - 如何通过JDBC将Java存储过程加载到Oracle 10g中?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:22 25 4
gpt4 key购买 nike

我正在尝试通过 JDBC 将一些 java 存储过程加载到 Oracle 10g 数据库中。我正在执行的语句是 -

CREATE OR REPLACE JAVA SOURCE NAMED "test.Test" AS
package test;
public class Test {
public static String myMethod(String a) {
return a;
}
};

通过 TOAD 运行它工作得很好,但是当通过我的 JDBC 客户端运行时出现以下错误 -

Exception in thread "Thread-3" java.lang.NullPointerException
at oracle.jdbc.driver.T4C8Oall.getNumRows(T4C8Oall.java:728)
at oracle.jdbc.driver.T4CStatement.execute_for_rows(T4CStatement.java:478)
at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
at oracle.jdbc.driver.OracleStatement.executeUpdate(OracleStatement.java:1451)
at ejsdal.CreateDBJavaSQL.executeScript(CreateDBJavaSQL.java:23)
at ejsdal.OperationController.run(OperationController.java:182)

我正在使用 java.sql.Statement 的“executeUpdate”在第一个代码块中传递字符串。

可以通过JDBC加载java源码吗?

最佳答案

想通了 - 需要设置

statement.setEscapeProcessing(false);

在执行更新之前。这是因为 Java 源文件的 {} 字符被 JDBC 驱动程序误解为过程调用语法。

关于java - 如何通过JDBC将Java存储过程加载到Oracle 10g中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796244/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com