oracle不同驱动,Oracle数据库中三种不同类型的JDBC驱动以下的⽂章主要介绍的是Oracle数据库⾥三种不同类型的JDBC驱动,我们⼤家都知道Oracle 中的jdbc驱动主要有以下的三类,即,1、JDBC OCI: oci是Oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。
因为它需要Oracle Call Interface and Net8,所以它需要在运⾏使⽤此驱动的JAVA程序的机器上安装客户端软件,其实主要是⽤到orcale客户端⾥以dll⽅式提供的oci和服务器配置。
2、JDBC Thin: thin是for thin client的意思,这种驱动⼀般⽤在运⾏在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,⽽是通过Java sockets进⾏通信,是纯java实现的驱动,因此不需要在使⽤JDBC Thin的客户端机器上安装orcale客户端软件,所以有很好的移植性,通常⽤在web开发中。
3、JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使⽤,如Java Stored Procedures 、triggers、Database JSP's。因为是在服务器内部使⽤,他使⽤默认或当前的会话连接来访数据库,不需要⽤户名密码等,也不需要数据库url。
在应⽤开发的时候,通常是⽤前⾯两种⽅式,下⾯是数据库url的写法:
jdbc:Oracle :thin:@server ip: service
jdbc:Oracle :oci:@service
看来oci的还更加简洁,ip可以省掉不写了,这是因为oci驱动通过客户端的native java methods来条⽤c library⽅式来访问数据库服务器,使⽤到了客户端的net manager⾥的数据库服务配置。
因为oci⽅式最终与数据库服务器通信交互是⽤的c library库,理论上性能优于thin⽅式,据说主要是体现在blob字段的存取上。
开发Oracle 数据库经常⽤到的 pl sql dev使⽤的估计是oci⽅式,需要安装客户端,但也可以不安装,但是要抽出其中的oci相关的dll即jar 包、注册环境变量、配置侦听⽂件等。Oracle 在10g之后提供了精简客户端,安装的过程应该包括上⾯的那些⼯作。
How does one connect with the JDBC OCI Driver?
One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers.
Code: [Copy to clipboard]
import java.sql.*;
class dbAccess {
public static void main (String args []) throws SQLException
{
try {
Class.forName ("Oracle .jdbc.driver.Oracle Driver");
} catch (ClassNotFoundException e) {
e.printStackTrace();
oracle10g客户端安装步骤}
Connection
("jdbc:Oracle :oci8:@ORA1", "scott", "tiger");
// or oci9 @Service, userid, password
ateStatement();
uteQuery (
"select BANNER from SYS.V_$VERSION"
);
while (())
System.out.println (String(1)); // Print col 1
stmt.close();
}
}
How does one connect with the JDBC KPRB Driver?
One can obtain a handle to the default or current connection
(KPRB driver) by calling the Oracle Driver.defaultConenction() method.
Please note that you do not need to specify a database URL,
username or password as you are already connected to a database session. Remember not to close the default connection.
Closing the default connection might throw an exception in future releases of Oracle . import java.sql.*;
Code: [Copy to clipboard]
class dbAccess {
public static void main (String args []) throws SQLException
{
Connectionconn= (new
Oracle .jdbc.driver.Oracle Driver()).defaultConnection();
ateStatement();
uteQuery (
"select BANNER from SYS.V_$VERSION"
);
while (())
System.out.println (String(1)); // Print col 1
stmt.close();
}
}
以上的相关内容就是对Oracle 数据库中三种类型的JDBC驱动的介绍,望你能有所收获。
【编辑推荐】
【责任编辑:孙巧华 TEL:(010)68476606】
点赞 0
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论