首页 课程 师资 教程 报名

Java存储过程的步骤

  • 2022-05-23 09:43:39
  • 1556次 动力节点

Java 存储过程步骤

你可以运行Java存储过程的方式与 PL/SQL 存储过程相同。通常,对 Java 存储过程的调用是数据库操作的结果,因为它通常是触发器或 SQL DML 调用的结果。要调用 Java 存储过程,您必须通过调用规范发布它。

在调用 Java 存储过程之前,您必须将它们加载到 Oracle 数据库实例中并将它们发布到 SQL。加载和发布是单独的任务。许多仅由其他 Java 类引用的 Java 类从未发布过。

要自动加载 Java 存储过程,您可以使用loadjava命令行实用程序。它将 Java 源文件、类和资源文件加载到系统生成的数据库表中,然后使用 SQLCREATE JAVA {SOURCE | CLASS | RESOURCE}语句将 Java 文件加载到 Oracle 数据库实例中。您可以从文件系统、流行的 Java IDE、Intranet 或 Internet 上传 Java 文件。

创建、加载和调用 Java 存储过程涉及以下步骤:

第 1 步:创建或重用 Java 类

第 2 步:加载和解析 Java 类

第 3 步:发布 Java 类

第 4 步:调用存储过程

第 5 步:如有必要,调试存储过程

第 1 步:创建或重用 Java 类

使用首选的 Java IDE 创建类,或重用满足您要求的现有类。Oracle 数据库支持许多 Java 开发工具和客户端编程接口。例如,Oracle JVM 接受在流行的 Java IDE 中开发的程序,例如 Oracle JDeveloper、Symantec Visual Cafe 和 Borland JBuilder。

在以下示例中,您将创建public类Oscar。它有一个名为 的方法quote(),该方法返回 Oscar Wilde 的引用。

public class Oscar
{
  // return a quotation from Oscar Wilde
  public static String quote()
  {
    return "I can resist everything except temptation.";
  }
}

将类保存为Oscar.java. 使用 Java 编译器,.java在您的客户端系统上编译该文件,如下所示:

javac Oscar.java

编译器输出一个 Java 二进制文件,在本例中为Oscar.class.

第2步:负载和 R解决 Java 类

使用该loadjava实用程序,您可以将 Java 源文件、类和资源文件加载到 Oracle 数据库实例中,并在其中存储为 Java 模式对象。您可以loadjava从命令行或应用程序运行,并且可以指定多个选项,包括解析器。

在以下示例中,loadjava使用默认的 JDBC OCI 驱动程序连接到数据库。您必须指定用户名和密码。默认情况下,Oscar该类被加载到您登录的用户的架构中,在本例中为scott.

$ loadjava -user scott/tiger Oscar.class

当您调用该quote()方法时,服务器会使用解析器来搜索支持类,例如String. 在这种情况下,将使用默认解析器。默认解析器首先搜索当前模式,然后搜索SYS所有核心 Java 类库所在的模式。如有必要,您可以指定不同的解析器。

第 3 步:发布 Java 类

对于可以从 SQL 调用的每个 Java 方法,您必须编写一个调用规范,该规范将方法的顶级入口点暴露给 Oracle 数据库。通常,只需要几个调用规范。如果愿意,您可以使用 Oracle JDeveloper 生成这些调用规范。

在以下示例中,您从 SQL*Plus 连接到数据库,然后为方法定义顶级调用规范quote():

SQL> 连接 scott/tiger 
SQL> CREATE FUNCTION oscar_quote RETURN VARCHAR2 
2 AS LANGUAGE JAVA 
3 NAME 'Oscar.quote() return java.lang.String';

第 4 步:调用存储过程

您可以从 SQL DML 语句、PL/SQL 块和 PL/SQL 子程序调用 Java 存储过程。使用 SQLCALL语句,您还可以从顶层调用存储过程,例如从 SQL*Plus。存储过程也可以从数据库触发器中调用。

在以下示例中,您声明了一个 SQL*Plus 主变量:

SQL> VARIABLE 引用 VARCHAR2(50);

然后,调用该函数oscar_quote(),如下所示:

SQL> CALL oscar_quote() INTO :theQuote;
SQL> PRINT theQuote;
THEQUOTE

第 5 步:调试存储过程,如果需要的话

调试存储过程是强制性的。您的 Java 存储过程在位于单独计算机上的服务器上远程运行。但是,JDK 调试器jdb无法调试远程 Java 程序。因此,在将存储过程加载到数据库之前,您需要在客户端计算机上对其进行调试。

以上就是关于“Java存储过程的步骤”介绍,大家如果想了解更多相关知识,不妨来关注一下动力节点的Java在线学习,里面的课程内容从入门到精通,细致全面,很适合没有基础的小伙伴学习,希望对大家能够有所帮助哦。

选你想看

你适合学Java吗?4大专业测评方法

代码逻辑 吸收能力 技术学习能力 综合素质

先测评确定适合在学习

在线申请免费测试名额
价值1998元实验班免费学
姓名
手机
提交