如何在Oracle数据库中使用Java存储过程

如何在Oracle数据库中使用Java存储过程,第1张

本文以Oracle为例 介绍一下java存储过程的具体用法

一 如何创建java存储过程?

通常有三种方法来创建java存储过程

使用Oracle的sql语句来创建

e g 使用create or replace and pile java source named as

后边跟上java源程序 要求类的方法必须是public static的 才能用于存储过程

SQL>create or replace and pile java source named javademo

as

import java sql *

public class JavaDemo

{

public static void main(String[] argv)

{

System out println( hello java demo )

}

}

/

Java 已创建

SQL>show errors java source javademo

没有错误

SQL>create or replace procedure javademo

as

language java name JavaDemo main(java lang String[])

/

过程已创建

SQL>set serveroutput on

SQL>call javademo ()

调用完成

SQL>call dbms_java set_output( )

调用完成

SQL>call javademo ()

hello java demo

调用完成

SQL>call javademo ()

hello java demo

调用完成

使用外部class文件来装载创建

e g 这里既然用到了外部文件 必然要将class文件放到oracle Server的某一目录下边

public class OracleJavaProc

{

public static void main(String[] argv)

{

System out println( It s a Java Oracle procedure )

}

}

SQL>grant create any directory to scott

授权成功

SQL>conn scott/tiger@iihero oracledb

已连接

SQL>create or replace directory test_dir as d:\oracle

目录已创建

SQL>create or replace java class using bfile(test_dir OracleJavaProc CLASS )

/

Java 已创建

SQL>create or replace procedure testjavaproc as language java name OracleJavaProc main(java lang String[])

/

过程已创建

SQL>call testjavaproc()

调用完成

SQL>execute testjavaproc

PL/SQL 过程已成功完成

SQL>set serveroutput on size

SQL>call dbms_java set_output( )

调用完成

SQL>execute testjavaproc

lishixinzhi/Article/program/Oracle/201311/17720

(1)JDBC-ODBC桥加ODBC驱动程序

JavaSoft桥产品利用ODBC驱动程序提供JDBC访问。注意,必须将ODBC二进制代码(许多情况下还包括数据库客户机代码)加载到使用该驱动程序的每个客户机上。因此,这种类型的驱动程序最适合于企业网(这种网络上客户机的安装不是主要问题),或者是用Java编写的三层结构的应用程序服务器代码。

(2)本地API

这种类型的驱动程序把客户机API上的JDBC调用转换为Oracle、Sybase、Informix、DB2或其它DBMS的调用。注意,象桥驱动程序一样,这种类型的驱动程序要求将某些二进制代码加载到每台客户机上。

(3)JDBC网络纯Java驱动程序

这种驱动程序将JDBC转换为与DBMS无关的网络协议,之后这种协议又被某个服务器转换为一种DBMS协议。这种网络服务器中间件能够将它的纯Java客户机连接到多种不同的数据库上。所用的具体协议取决于提供者。通常,这是最为灵活的JDBC驱动程序。有可能所有这种解决方案的提供者都提供适合于Intranet用的产品。为了使这些产品也支持Internet访问,它们必须处理Web所提出的安全性、通过防火墙的访问等方面的额外要求。几家提供者正将JDBC驱动程序加到他们现有的数据库中间件产品中。

(4)本地协议纯Java驱动程序

这种类型的驱动程序将JDBC调用直接转换为DBMS所使用的网络协议。这将允许从客户机机器上直接调用DBMS服务器,是Intranet访问的一个很实用的解决方法。由于许多这样的协议都是专用的,因此数据库提供者自己将是主要来源,有几家提供者已在着手做这件事了。

据专家预计第(3)、(4)类驱动程序将成为从JDBC访问数据库的首方法。第(1)、(2)类驱动程序在直接的纯Java驱动程序还没有上市前会作为过渡方案来使用。对第(1)、(2)类驱动程序可能会有一些变种,这些变种要求有连接器,但通常这些是更加不可取的解决方案。第(3)、(4)类驱动程序提供了Java的所有优点,包括自动安装(例如,通过使用JDBC驱动程序的appletapplet来下载该驱动程序)。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/6794160.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存