代码之家  ›  专栏  ›  技术社区  ›  Richard Nichols

如何通过JDBC将Java存储过程加载到Oracle10g中?

  •  3
  • Richard Nichols  · 技术社区  · 16 年前

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

    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 回复  |  直到 16 年前
        1
  •  5
  •   Richard Nichols    16 年前

    解决了-需要设置

    statement.setEscapeProcessing(false);
    

    { }