如何通过 JDBC 将 Java 存储过程加载到 Oracle 10g 中?
Posted
技术标签:
【中文标题】如何通过 JDBC 将 Java 存储过程加载到 Oracle 10g 中?【英文标题】:How to load Java Stored Procedure through JDBC into Oracle 10g? 【发布时间】:2010-10-22 05:27:32 【问题描述】:我正在尝试通过 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源码吗?
【问题讨论】:
【参考方案1】:想通了 - 需要设置
statement.setEscapeProcessing(false);
在执行更新之前。这是因为 Java 源文件的 和 字符被 JDBC 驱动程序误解为过程调用语法。
【讨论】:
以上是关于如何通过 JDBC 将 Java 存储过程加载到 Oracle 10g 中?的主要内容,如果未能解决你的问题,请参考以下文章