在Oracle中调用Java

在Oracle中调用Java

ID:37525491

大小:178.50 KB

页数:40页

时间:2019-05-24

在Oracle中调用Java_第1页
在Oracle中调用Java_第2页
在Oracle中调用Java_第3页
在Oracle中调用Java_第4页
在Oracle中调用Java_第5页
资源描述:

《在Oracle中调用Java》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、Oracle中的Java体系结构 目前,使用Java来扩展存储程序是一种很流行的方法。在使用Java类库处理数据的过程中,PL/SQL是必不可少的一环,这是因为PL/SQL封装了Java类库的数据访问,即任何Java存储对象访问的数据都必须经过PL/SQL。由于本章的所有内容只被最新的数据库版本所支持,因此它独立于本书的其他章节,以下是本章要介绍的内容:●      Oracle中的Java体系结构●      OracleJDBC的连接类型  ●   客户端驱动器(Client-sidedriver),即JDBC瘦驱动(thindriver)  ● 

2、  Oracle调用接口驱动器,即中间层胖驱动(middle-tierthickdriver)  ●   Oracle服务器端内部驱动器(OracleServer-SideInternalDriver),即服务器级的胖驱动●      在Oracle中创建Java类库  ●   创建内部服务器的Java函数  ●   创建内部服务器的Java过程  ●   创建内部服务器的Java对象  ●   创建、装载、删除、使用Java类库时的故障诊断●      映射Oracle类型本章将向您展示一张Oracle中巨大的Java组织结构图,在解释了Java的体

3、系结构之后,您还会看到开发和扩展Java组件的方法。使用Java扩展的原因:我们将使用PL/SQL作为存储Java类库和其他PL/SQL存储程序或匿名块程序之间的接口。我们还会映射Oracle和Java之间的本地数据类型和用户自定义数据类型,以便能定义有效接口和支持JSP(JavaServerPage,Java服务器页面)。1 Oracle中的Java体系结构Oracle9i和10g版本的数据库为开发服务器端或内部Java程序组件提供了一个健壮的体系结构。Java组件采用OO(Object-Oriented,面向对象)的结构,这样的结构非常适合Orac

4、le的对象-关系模型(Object-Relationalmodel)。组件的体系结构实际上就是一个库栈,它包含:●      操作系统的平台依赖性,例如UNIX、LINUX、MicrosoftWindows;●      依赖Oracle数据库的文件和库管理;●      独立于平台的JVM(JavaVirtualMachine,OracleJava虚拟机);●      Java内核类库,兼容不同的平台;●      Oracle支持的JavaAPI(ApplicationProgrammingInterfaces,应用程序接口),如SQLJ、JDB

5、C和JNDI;●      Oracle的PL/SQL存储对象,为SQL和PL/SQL程序之间提供接口,就像服务器端Java类库一样。Oracle和Java库就和普通的文件系统一样来存储和管理应用程序,它们屏蔽了不同操作系统的结构差异和系统限制,从而建立起一个独立于平台的存储、检索和恢复文件的统一处理过程。同时,Java虚拟机为创建有大量文档支持的OO程序提供了一个标准环境。另外,OraclePL/SQL也为其他PL/SQL存储对象以及SQL访问Java库提供了软件包。下图5-1给出了OracleJVM(Java虚拟机)的体系结构。OracleJVM使

6、用两种格式的命名空间:长名称和短名称。长名称和Java中类的命名模式是一样的,我们可以用它本来的命名空间来调用存储Java程序。然而,本章中Java示例的名称都是短名称,并且程序也没有放进程序包中。当然,您完全可以将您的Java程序放进程序包中。Java存储代码的命名空间包括了程序包的整个层次。如果命名空间的长度超过30个字符,Oracle在数据字典视图中就使用哈希命名空间。使用DBMS_JAVA包和LONGNAME函数可以获得完整的命名空间,而如果要获取短名称可以使用DBMS_JAVA程序包和SHORTNAME函数。图5-1 OracleJVM体系结

7、构JVM具有自动内存管理的功能,这意味着我们不需要手动分配和释放内存空间。同时,就像PL/SQL一样,Java也是强类型的语言。因此,强类型和垃圾回收器相结合,对内存进行管理,为Java提供了一个简单的、富有弹性的环境,就像PL/SQL的运行时引擎一样。Java和PL/SQL都是解释语言,因此它们要求JIT(Just-In-Time,即时)编译。Oracle9i中可以对PL/SQL和Java程序进行本地编译,而这实际上是提前编译了。本地编译将PL/SQL和Java程序的字节代码转换成机器可执行的程序代码。因为本地编译消除了即时编译的延时,所以提高了执行

8、速度。但不幸的是,它却要花些时间将解释过的程序编译为机器代码。权衡之下,如果您并不经常改变代码

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。