如何通过 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 中?的主要内容,如果未能解决你的问题,请参考以下文章

JDBC使用步骤过程

通过 JDBC 将文件加载到 hive

JDBC使用步骤过程

JDBC

JDBC概述

Java -- JDBC 学习--获取数据库链接