SQLJ的概述
今天的企业级应用程序通常运行在多数据库平台上,例如Oracle、DB2、Sybase、SQL Server、Informix等等。在这个环境里,代码的可移殖性和可维护性正变得越来越重要。从一个数据库平台到另一个数据库平台移植代码是非常复杂的并且要花费大量时间,因为数据库供应厂商都使用他们自己专有的过程语言(例如Oracle使用PL/SQL,而Sybase和SQL Server使用Transact - SQL)。
近几年来,Oracle开发人员都一直在使用PL/SQL|(一种提供了到关系数据库语言SQL的过程扩展部分的语言)来构建管理大量的数据阵列的复杂系统。不幸的是,用PL/SQL写的存储过程只能在Oracle数据库运行。但是SQL开发者有了一种写代码的强有力的工具,可以很容易的移植到其他的数据库-这就是Java,因为它在跨平台开发和国际互联网络上的强大功能是它成为流行的开发语言。Java承诺的统一的、可移植的应用软件开发解决办法可以在简单的、低成本的的IT基本设施上执行,所以主要的开发工具供应厂商和设备供应者都支持Java。居于领导地位的软件供应厂商,例如Oracle和IBM,都在他们的数据库和其他的应用程序平台上整合了Java虚拟机(JVM)。ORACLE数据库管理系统公司在Oracle 8i中引入了对Java的扩展支持功能。在Oracle中,有两种使用Java的基本方法:
JDBC :就像ODBC一样,它提供了一个基于驱动程序的接口,允许从Java应用程序中访问Oracle数据库。
SQLJ :这是多个厂商共同努力的结果,是一种新的语言,能提供在Java代码中静态SQL的支持。理论上,它提供了比JDBC更大程度的程序员劳动生产率。
在Oracle 8i数据库服务器里集成JVM是在最近几年中Oracle引进的最重要的技术革新之一。集成JVM的Oracle,叫做JServer(亦称Aurora JVM), 支持两种不同的程序设计模型∶
和SQL集成,允许用户使用Java编写传统的数据库存储过程、函数和触发器。
用于分布式Java组件的事务服务器平台,称作企业JavaBeans,允许程序员开发可重复使用的服务器端应用程序组件。
在本文中,我主要讲述一下在Oracle 8i中SQL和Java集成。也就是说, Java可以调用SQL和PL/SQL,PL/SQL和SQL也可以调用Java。Java程序调用它们使用JDBC驱动程序的SQL和PL/SQL复本,而JDBC驱动程序是嵌入驻留在Oracle 8i数据库中的JVM体系结构中的。另一方面,从SQL和PL/SQL到Java,Oracle 8i提供了二个特色。在Oracle 8i中,Java名称空间映射到数据库模式,易于从属物允许Java被保存在数据库中。Oracle 8i也提供扩展的Data Definition Language(数据定义语言DDL),例如CREATE PROCEDURE AS JAVA命令,因此Java代码很容易内嵌入Oracle 8i中。
(未完待续)
文章来源于领测软件测试网 https://www.ltesting.net/