本文以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来下载该驱动程序)。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)