用SQLJ开发

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
 

  今天的企业级应用程序通常运行在多数据库平台上,例如、、、、等等。在这个环境里,代码的可移殖性和可维护性正变得越来越重要。从一个数据库平台到另一个数据库平台移植代码是非常复杂的并且要花费大量时间,因为数据库供应厂商都使用他们自己专有的过程语言(例如Oracle使用PL/SQL,而Sybase和SQLServer使用Transact-SQL)。

  近几年来,Oracle开发人员都一直在使用PL/SQL|(一种提供了到关系数据库语言SQL的过程扩展部分的语言)来构建管理大量的数据阵列的复杂系统。不幸的是,用PL/SQL写的存储过程只能在Oracle数据库运行。但是SQL开发者有了一种写代码的强有力的工具,可以很容易的移植到其他的数据库-这就是,因为它在跨平台开发和国际互联网络上的强大功能是它成为流行的开发语言。Java承诺的统一的、可移植的应用开发解决办法可以在简单的、低成本的的IT基本设施上执行,所以主要的开发工具供应厂商和设备供应者都支持Java。居于领导地位的软件供应厂商,例如Oracle和IBM,都在他们的数据库和其他的应用程序平台上整合了Java虚拟机(JVM)。ORACLE数据库管理系统公司在Oracle8i中引入了对Java的扩展支持功能。在Oracle中,有两种使用Java的基本方法:

  JDBC:就像ODBC一样,它提供了一个基于驱动程序的接口,允许从Java应用程序中访问Oracle数据库。

  SQLJ:这是多个厂商共同努力的结果,是一种新的语言,能提供在Java代码中静态SQL的支持。理论上,它提供了比JDBC更大程度的程序员劳动生产率。

  在Oracle8i数据库服务器里集成JVM是在最近几年中Oracle引进的最重要的技术革新之一。集成JVM的Oracle,叫做JServer(亦称AuroraJVM),支持两种不同的程序模型∶

  和SQL集成,允许用户使用Java编写传统的数据库存储过程、函数和触发器。

  用于分布式Java组件的事务服务器平台,称作企业JavaBeans,允许程序员开发可重复使用的服务器端应用程序组件。

  在本文中,我主要讲述一下在Oracle8i中SQL和Java集成。也就是说,Java可以调用SQL和PL/SQL,PL/SQL和SQL也可以调用Java。Java程序调用它们使用JDBC驱动程序的SQL和PL/SQL复本,而JDBC驱动程序是嵌入驻留在Oracle8i数据库中的JVM体系结构中的。另一方面,从SQL和PL/SQL到Java,Oracle8i提供了二个特色。在Oracle8i中,Java名称空间映射到数据库模式,易于从属物允许Java被保存在数据库中。Oracle8i也提供扩展的DataDefinitionLanguage(数据定义语言DDL),例如CREATEPROCEDUREASJAVA命令,因此Java代码很容易内嵌入Oracle8i中。

  

  SQLJ是一种允许把静态的SQL语句以文本形式嵌入Java程序中的语言。在写一个SQLJ应用程序时,我们编写一段Java程序然后遵循某些特定的标准法则把SQL语句嵌入在其中,这些法则定义了SQL语句怎样写入Java程序(具体情况请看Oracle8iSQLJ开发指南与参考,你可以在DocumentationLibrary光盘上找到)。
接下来,我们运行一个SQLJ翻译器,通过把嵌入式结构化查询语句替换为调用调用SQLJ运行时程序库的方式把SQLJ程序转换成一个标准的Java程序。生成的Java程序就可以使用任何标准的Java编译程序(例如javac)来编译了然后就可以配合数据库使用了。SQLJ运行期环境是由一个瘦(即没有额外系统开销)SQLJ运行时程序库组成,也就是说用纯Java实现调用相应的数据库(Oracle,DB2等等)的JDBC驱动程序。

  SQLJ类似于其他的嵌入式结构化查询语言的实现,像OraclePro*C(嵌入C语言环境的SQL)。SQLJ语言设计的目的就是帮助基于Java的程序员构建数据库应用程序。SQLJ是一个ISO和ANSI标准,也就是说由领头的数据库与软件供应厂商开发和支持的,包括ORACLE数据库管理系统公司,国际商业机器公司,美国赛贝斯公司,Informix公司,美国康柏公司等。所有这些公司合作开发兼容的SQLJ翻译器来实现使用不同的数据库。1

<script type="text/javascript"> </script> <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
<script type="text/javascript"> </script><script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值