论文部分内容阅读
存储过程(Stored Procedure)是SQL语句和可选控制流语句的预编译集合,以一个名称存储并作为一个单元处理,经编译后存储在数据库中。用户通过指定存储过程的名字并给出参数(如果该存储过程带有参数)来执行它。存储过程是一种数据库对象,将执行计划存储在数据库的服务器中,它的执行速度比独立执行同样的程序要快。任何一个设计良好的数据库应用程序都应该用到存储过程。存储过程可以使得对数据库的管理、显示关于数据库及其用户信息的工作容易很多。总的来说,存储过程具有以下一些优点: ·存储过程允许标准组件式编程 ·存储过程能够实现较快的执行速度 ·存储过程能够减少网络流量 ·存储过程可被作为一种安全机制来充分利用 用PL/SQL或Java,都可以实现Oracle中的全部四种类型的存储过程:存储过程、存储函数、数据库触发器和对象类型方法。在Oracle8i之前,开发人员只能使用PL/SQL来开发存储过程。从Oracle8i开始,不仅可以使用原有的PL/SQL开发存储过程,而且也可以使用Java语言来开发存储过程。Java存储过程同PL/SQL存储过程一样,运行在Oracle服务器端。PL/SQL存储过程和Java存储过程可以相互调用,但是Java存储过程可以利用Java语言的功能来完成一些PL/SQL存储过程完成不了的工作。与PL/SQL相比,使用Java语言开发存储过程有以下优点:1.Java语言具有更强大的运算能力,提供了更多的运算方法。当要完成进行复杂运算的存储过程时,使用JSP将是你最好的选择。 2.PL/SQL只能用于Oracle数据库,而Java语言可以应用于更多的数据库系统(如Sybase、DB2、Informix等等),所以Java存储过程将具有更好的兼容性、可移植性。 可以把JAVA与现存的PL/SQL程序结合,用PL/SQL和Java开发Oracle9i应用程序通过,Java程序访问SQL和PL/SQL。用Java开发的存储过程,和用SQL和PL/SQL开发的存储过程,在同样的地址空间中运行,因此这两者可以无缝地交互操作,从而可以调用使用SQL或PL/SQL编写的业务逻辑。 本文从一般常使用的PL/SQL存储过程的简单分析入手,提出了是选择PL/SQL还是Java的问题。作者通过PL/SQL与Java存储过程的简单比较,论述了使用Java存储过程的优点并通过实例详细介绍了Java存储过程,并通过图例给出了PL/SQL存储过程和Java存储过程是怎样相互调用的。 利用Java存储过程沟通SQL、XML、Java、J2EE和Web服务。存储过程(stored procedure)允许将运行于数据库层中的持久性逻辑与运行于中间层中的商务逻辑有效地分离开来。这种分离可以降低整个应用程序的复杂性,并提供其重用性、安全性、性能和可伸缩性。但是,妨碍存储过程广泛采用的一个主要障碍是不同数据库厂商使用各种专有的、且依赖于数据库的实现语言。使用基于Java的存储过程可以解决这一问题。Oracle已经实现了ANSI标准,这些标准规定了从SQL中将静态Java方法作为过程或函数进行调用的能力。这种实现被简单地称作“Java存储过程”。本文中还详细分析了Java存储过程的开发步骤,它包括:编写Java源代码、装载Java代码及类到Oracle9i数据库中、生成调用说明、使用Java开发过程、使用Java开发函数。 本文还阐述了利用Java集成创建Java函数和Java存储过程。及Java存储过程可用于控制和限制对Oracle数据的访问,其方法是只允许用户通过存储过程管理数据,而存储过程在其调用者的权限内执行,而不能对表本身进行访问。 总而言之,Oracle数据库与Java VM的集成可以创建可移植、功能强大和数据库无关的数据逻辑和持续性逻辑。运行于中间层的商务逻辑和运行于数据库层的数据逻辑之间的分离提高了应用程序的可扩展性、灵活性和可维护性。