
class12.jar文件。
由于thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,无需安装Oracle客户端,只需要下载一个thin驱动的jar包,并且将环境变量中的CLASS_PATH变量中加入thin驱动的路径就可以了。
Thin驱动虽然与平台无关,也无需安装Oracle客户端,但是有一个致命的缺陷就是性能一般,达不到如OCI方式的企业级的要求。另外,如果一个oracle数据库对应一台主机,可以使用thin连接;如果一个oracle数据库对应四五台主机(集群服务器)。
使用thin时,需要把tnsnames.ora文件中的相关数据库的整个连接字符串都拷贝下来,如此才能连接上oracle集群数据库。
使用OCI连接数据库是企业级的做法,适应于单个数据库和集群数据库,性能优越,尤其是连接池功能大大提高了应用程序的性能和并发量。唯一的缺点是,若想使用OCI必须要安装Oracle客户端。
本文以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
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)