Oracle DB 12c/SQL Developer中Java目录的用途是什么?

Oracle DB 12c/SQL Developer中Java目录的用途是什么?,java,oracle-sqldeveloper,oracle12c,Java,Oracle Sqldeveloper,Oracle12c,在使用Oracle SQL Developer时,我注意到它有一个“Java”目录(如图所示) 我假设它的目的是在数据库中存储Java源代码/类代码。我还假设这意味着Java代码可以在DBMS中执行。我查看了帮助文档以找到这方面的证据,但在Java源代码下只找到了以下内容: 可以在数据库中创建和管理Java源代码 我不太清楚以下任何一项(除1项外)是否属实: 可以在数据库中存储Java源代码/类 Java代码/应用程序可以从RDBMS环境中运行,而不仅仅是从外部运行 DBMS的插件/扩展/附加

在使用Oracle SQL Developer时,我注意到它有一个“Java”目录(如图所示)

我假设它的目的是在数据库中存储Java源代码/类代码。我还假设这意味着Java代码可以在DBMS中执行。我查看了帮助文档以找到这方面的证据,但在Java源代码下只找到了以下内容:

可以在数据库中创建和管理Java源代码

我不太清楚以下任何一项(除1项外)是否属实:

  • 可以在数据库中存储Java源代码/类
  • Java代码/应用程序可以从RDBMS环境中运行,而不仅仅是从外部运行
  • DBMS的插件/扩展/附加模块可以用Java编写

  • 陈述2和陈述3中哪一项(如果有)是正确的?如果目录不仅仅用于存储,那么它的用途是什么?将源代码存储在DB中而不是使用git之类的版本控制工具是否有好处?

    Oracle数据库允许从PL/SQL-details调用Java代码。上传到数据库的任何Java代码都将显示在Java目录中的SQL Developer中。

    Oracle数据库允许从PL/SQL-details调用Java代码。上传到数据库的任何Java代码都将显示在Java目录中的SQL Developer中。

    感谢Alex Poole提供Oracle文档的链接,其中说明了以下内容:

    从Oracle的文档中:

    您可以在数据库中编写和加载Java应用程序,因为它是一种具有许多安全特性的安全语言

    […]客户端调用Java存储过程的方式与调用PL/SQL存储过程的方式相同

    从Oracle的文档中:

    Java存储过程作为PL/SQL的Java等价物和伴侣:Java存储过程与PL/SQL紧密集成。您可以从PL/SQL包调用Java存储过程,从Java存储过程调用PL/SQL过程

    Java存储过程是在服务器上编写和部署并从服务器运行的Java程序,与PL/SQL存储过程完全相同。您可以直接使用SQL*Plus之类的产品调用它,也可以间接使用触发器调用它。您可以从任何Oracle Net客户端(如OCI和PRO*、JDBC或SQLJ)访问它

    此外,您可以使用Java开发功能强大的服务器端程序,这些程序可以独立于PL/SQL。Oracle数据库提供了标准Java编程语言的完整实现和完全兼容的JVM

    您可以从Java调用现有的PL/SQL程序,也可以从PL/SQL调用Java程序。此解决方案保护并利用您的PL/SQL和Java代码,并打开了基于Java的Internet计算的优势和机会

    Oracle数据库为访问SQL数据提供了两种不同的Java API:JDBC和SQLJ。这两个API都可以在客户机上使用,JDBCAPI也可以在服务器上使用。因此,您可以在客户端和服务器上部署应用程序

    从文件中:

    存储过程是发布到SQL并存储在数据库中供一般使用的Java方法。要发布Java方法,需要编写调用规范,将Java方法名称、参数类型和返回类型映射到对应的SQL

    当客户端应用程序调用时,存储过程可以接受参数、引用Java类并返回Java结果值

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

    这使我认识到:

  • Java目录是DB本身的一部分,而不是SQL开发人员
  • 此目录的用途仅用于存储通过可调用函数定义存储过程(及其帮助程序方法)的Java类,如下所示:1
  • 
    

  • 感谢Alex Poole提供指向Oracle文档的链接,其中说明了以下内容:

    从Oracle的文档中:

    您可以在数据库中编写和加载Java应用程序,因为它是一种具有许多安全特性的安全语言

    […]客户端调用Java存储过程的方式与调用PL/SQL存储过程的方式相同

    从Oracle的文档中:

    Java存储过程作为PL/SQL的Java等价物和伴侣:Java存储过程与PL/SQL紧密集成。您可以从PL/SQL包调用Java存储过程,从Java存储过程调用PL/SQL过程

    Java存储过程是在服务器上编写和部署并从服务器运行的Java程序,与PL/SQL存储过程完全相同。您可以直接使用SQL*Plus之类的产品调用它,也可以间接使用触发器调用它。您可以从任何Oracle Net客户端(如OCI和PRO*、JDBC或SQLJ)访问它

    此外,您可以使用Java开发功能强大的服务器端程序,这些程序可以独立于PL/SQL。Oracle数据库提供了标准Java编程语言的完整实现和完全兼容的JVM

    您可以从Java调用现有的PL/SQL程序,也可以从PL/SQL调用Java程序。此解决方案保护并利用您的PL/SQL和Java代码,并打开了基于Java的Internet计算的优势和机会

    Oracle数据库为访问SQL数据提供了两种不同的Java API:JDBC和SQLJ。这两个API都可以在客户机上使用,JDBCAPI也可以在服务器上使用。因此,您可以在客户端和服务器上部署应用程序

    从文件中:

    存储过程是公开的Java方法 public class Oscar { // return a quotation from Oscar Wilde public static String quote() { return "I can resist everything except temptation."; } } CREATE FUNCTION oscar_quote RETURN VARCHAR2 AS LANGUAGE JAVA NAME 'Oscar.quote() return java.lang.String'; VARIABLE theQuote VARCHAR2(50); CALL oscar_quote() INTO :theQuote; PRINT theQuote;
    loadjava -user USERNAME/password@sid -resolve /path/to/externalLib.jar