Oracle数据库内启用基于Java的实际存储过程解析

数据库 Oracle
本文主要是向大家讲述的是Oracle数据库是如何在数据库内启用基于Java的实际存储过程,以下就是文章的具体内容的描述。

以下的文章主要涉及到Oracle数据库的开发人员,讲述JAVA的存储过程,以及利用Java的存储过程来沟通SQL、和XML、Java、J2EE和Web服务。存储过程(stored procedure)允许将运行于数据库层中的持久性逻辑与运行于中间层中的商务逻辑有效地分离开来。

这种分离可以降低整个应用程序的复杂性,并提供其重用性、安全性、性能和可伸缩性。

但是,妨碍存储过程广泛采用的一个主要障碍是不同数据库厂商使用各种专有的、且依赖于数据库的实现语言。使用基于Java的存储过程可以解决这一问题。Oracle已经实现了ANSI标准,这些标准规定了从SQL中将静态Java方法作为过程或函数进行调用的能力。这种实现被简单地称作"Java存储过程"。

在本文中,你将了解基于Java的存储过程如何帮助简化商务逻辑、提高其性能,并扩展数据库的功能。本文将介绍Oracle数据库如何在数据库内启用基于Java的存储过程。还会介绍Java存储过程如何访问数据,以及如何创建基本Java存储过程。

选择PL/SQL还是Java

在考虑Oracle存储过程时,你可能会想到PL/SQL。不过,从Oracle8i开始,Oracle数据库已经在数据库中支持Java,从而为存储过程提供了不同于PL/SQL的开放式和可移植的方法。我可以听到"$64 000问题":"我如何在PL/SQL和Java之间做出选择?我是否应当忘记已经学习的所有PL/SQL相关知识,而变为一个Java天地的新手?"

两种语言都适用于数据库编程,都有自己的优点和弱点。在决定选择哪一种语言时,可以参考下面根据经验得出的通用规则:

对于要求与SQL进行无缝集成的数据库中心来说则逻辑使用PL/SQL,从而完成对数据库对象、类型和特性的访问。

出于与数据库的无关性考虑时,可以选择Java作为开放式的语言来取代PL/SQL,同时也为了集成和沟通SQL、XML、J2EE和Web服务等各个领域。
OralceJVM使得Java可以运行在数据库中

从Oracle8i版本1(Oralce8.1.5)开始,Oracle便提供紧密集成的Java虚拟机(JVM),JVM支持Oralce的数据库会话期结构。任何数据库对话期都可以在第一Java代码调用时启动一个虚拟上专用的JVM,后续的用户可以使用这一已经存在的支持Java的会话期。

事实上,所有会话共享同一JVM代码并保持"仅静态"的私有状态,而垃圾则收集在单个对话期空间内,从而为各个Java对话期提供了和SQL操作相同的对话期隔离和数据完整性能力。这里,不需要为了数据完整性而进行单独的Java支持的过程。这一基于对话期的结构提供了较小的内存占用率,并使OracleJVM具有与Oracle数据库一样的线性SMP可伸缩性。

【编辑推荐】

  1. Oracle数据库堪称是重量级的缘由
  2. 用触发器实现Oracle操作日志
  3. Oracle数据库中经常使用的启动方式介绍
  4. Oracle数据库中3种常用的关闭方式
  5. Oracle11g认证考试的3个主要途径
     
责任编辑:佚名 来源: 互联网
相关推荐

2010-04-06 12:39:15

Oracle数据库

2010-04-27 14:44:31

Oracle存储过程

2010-04-07 13:02:14

Oracle 存储过程

2010-04-15 17:08:20

Oracle存储过程

2010-04-12 09:26:52

Oracle查询分页

2010-10-26 14:40:31

oracle存储过程

2010-04-16 13:34:00

Oracle Java

2010-04-23 11:15:43

Oracle创建

2010-04-16 14:10:56

Oracle数据库

2010-04-26 14:12:23

Oracle使用游标触

2010-04-16 13:53:23

Oracle数据库

2011-08-12 11:22:53

Oracle存储过程Java

2010-05-10 13:33:11

Oracle存储过程

2010-04-30 14:22:43

Oracle通过

2010-03-30 12:50:42

Oracle存储

2010-04-30 09:34:24

Oracle多条件查询

2010-04-16 10:24:17

Oracle存储过程

2011-05-17 15:30:27

Oracle数据库ADO

2010-04-27 15:11:20

Oracle树的存储过
点赞
收藏

51CTO技术栈公众号