将 Java 类更改为存储过程

Posted

技术标签:

【中文标题】将 Java 类更改为存储过程【英文标题】:Changing Java classes to Stored procedure 【发布时间】:2017-11-29 10:31:13 【问题描述】:

我有一个 java 文件名“E2BXmlParser”,我在其中读取和操作从数据库中获取的 XML 数据。

现在我尝试在像这样更改文件后使用 Oracle SQL Developer 执行 java 文件

    CREATE AND COMPILE JAVA SOURCE NAMED "E2BXmlParser" AS

    --(Rest of Code).

现在它要求在代码中使用多个值,但是当我像这样从命令行执行 java 文件时,情况并非如此

loadjava -user  username/password@DBalias -r E2BXmlParser.java

请帮忙。 P.S(Java文件有多个类和方法)

【问题讨论】:

"P.S (Java 文件有多个类和方法)" 你有没有为每个***类单独的CREATE AND COMPILE JAVA SOURCE NAMED ... 块(不仅为每个java 文件)?您收到的确切错误消息是什么? 【参考方案1】:

听起来您的(其余代码)是 Java(可能包含“&”字符),是这样吗?如果是这样,你不需要在使用 loadjava 之后这样做。您只需要像这样创建一个包装函数: SQL> CREATE OR REPLACE FUNCTION E2BXmlParser_Parse 2 RETURN VARCHAR2 3 AS LANGUAGE JAVA 4 NAME 'E2BXmlParser.Parse() return java.lang.String';

我知道我在这里做了很多假设,只是想弄清楚这一点。

【讨论】:

以上是关于将 Java 类更改为存储过程的主要内容,如果未能解决你的问题,请参考以下文章

将资源文件夹目录从目标类更改为 Java 中的源

MySQL存储过程

8存储过程

存储过程权限和执行

Mysql存储过程入门介绍

存储过程与函数的区别