WEB开发网
开发学院数据库Oracle PL/SQL和Java开发Oracle8i应用程序 阅读

PL/SQL和Java开发Oracle8i应用程序

 2007-05-06 12:07:09 来源:WEB开发网   
核心提示: Java应用程序里的大多数方法,通常是由其它Java程序调用;而且Java到Java的调用,PL/SQL和Java开发Oracle8i应用程序(4),发生在Java虚拟机环境里,没有必要暴露给SQL,它包括:建立Oracle Objects ™ 对象,用Java方法实现对象的方

Java应用程序里的大多数方法,通常是由其它Java程序调用;而且Java到Java的调用,发生在Java虚拟机环境里,没有必要暴露给SQL。

SQL编译器需要有关SQL数据类型到Java数据类型如何映射参数的指导,还需要正确重载调用的信息,以便给出与原始实际参数值对应的SQL数据类型。这需要开发人员的干预,所以只有某些顶级Java方法需要在SQL和PL/SQL里调用。

如何把Java方法发布到SQL和PL/SQL?

要把Java程序发布到SQL,只需把顶级的Java入口点暴露给SQL,让SQL能够调用它就可以了。这是什么意思呢?我们来看看一个Java实现的数据库触发器:Java触发器可能有多个类和方法调用。但是,在DML语句执行时,只会调用这些方法中的一个,作为初始调用。之后,Java到Java的调用,就完全是在Java虚拟机内进行的。所以,把Java发布到SQL时,只需把顶级的Java入口点(SQL初始调用的Java类或方法),登记到SQL里就可以了。

要把Java 方法发布到SQL,需要声明一个“调用规范”。方法是:用CREATE PROCEDURE语句声明一个过程或函数,并给它定义一个SQL名称,给参数定义与SQL兼容的名称,以及参数和返回类型对应的SQL类型。

>CREATE FUNCTION PREPENDHELLO (s VARCHAR2) RETURN VARCHAR2 AS
LANGUAGE JAVA NAME ´Foo.prependHello(java.lang.String)
return java.lang.String´;

使用这种技术,只有静态的Java方法,才能从SQL进行调用。从SQL调用Java的另一个方法是使用实例方法。它包括:建立Oracle Objects ™ 对象,用Java方法实现对象的方法。这个技术使用CREATE TYPE BODY命令,提供给数据库的信息与CREATE PROCEDURE命令的信息类似:

上一页  1 2 3 4 5 6  下一页

Tags:PL SQL Java

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接