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命令的信息类似:
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››java读取配置文件properties的方法
- ››JavaScript 判断浏览器是否支持SVG方法
- ››java实现u盘指定内容的自动复制
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››javascript自动改变文字大小和颜色的效果
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Java_Jdk 环境变量配置
- ››JAVA中 终止线程的方法
更多精彩
赞助商链接