型深入浅出Oracle数据库驱动类型探讨(oracle使用的驱动类)

深入浅出:Oracle数据库驱动类型探讨

在Java中,连接数据库是基础也是必要的操作,而Oracle作为一种常用的数据库,连接Oracle更是常见。而连接Oracle,需要先通过驱动来对数据库进行操作。

首先我们来了解下什么是数据库驱动。数据库驱动是一种软件,负责在Java代码和数据库之间进行交流。不同的数据库有不同的驱动,而我们需要使用不同的驱动来连接不同的数据库。

在Oracle中,官方提供了两种不同的驱动类型:JDBC-ODBC桥连接和Oracle JDBC 驱动连接。以下将详细介绍这两种驱动类型。

1. JDBC-ODBC桥连接

JDBC-ODBC桥连接是通过Bridge API来实现的,Bridge API是Java平台定义的一种标准API。通过JDBC-ODBC桥连接Oracle,我们需要先安装Oracle ODBC驱动程序。此驱动通常包含在Oracle客户端中,安装Oracle客户端后,会自动安装ODBC驱动,因此也会自动安装JDBC-ODBC桥连接。当然,您也可以在Oracle官方网站中下载JDBC-ODBC桥连接,地址是:

http://www.oracle.com/technetwork/database/features/jdbc/index-091264.html

当您安装完成后,就可以通过以下代码连接Oracle:

import java.sql.*;

class MyConnection{

public static void mn(String[] args){

String url = “jdbc:odbc:mytest”;

String driver = “sun.jdbc.odbc.JdbcOdbcDriver”;

String user = “test”;

String password = “test”;

try

{

Class.forName(driver).newInstance();

Connection conn = DriverManager.getConnection(

url, user, password);

System.out.println(“Connected”);

} catch (Exception e)

{

System.err.println(“Unable to connect: ” + e.getMessage());

}

}

}

2. Oracle JDBC驱动连接

与JDBC-ODBC桥连接不同,Oracle JDBC驱动连接是直接连接Oracle数据库的。在此连接中,Oracle提供了两种驱动类型:OCI驱动和Thin驱动。OCI驱动需要安装Oracle客户端,而Thin驱动不需要。Thin驱动是Oracle 10g及以上版本才支持的。以下分别对两种驱动进行详细介绍。

2.1 OCI驱动

OCI驱动是Oracle Call Interface的简称,是Oracle的标准连接方式。OCI驱动需要安装Oracle客户端,并且需要配置OCI环境变量。使用OCI连接Oracle,需要在URL中添加“oci”属性。以下是使用OCI连接Oracle的代码:

import java.sql.*;

public class MyConnection {

public static void mn(String[] args) {

String driver = “oracle.jdbc.driver.OracleDriver”;

String url = “jdbc:oracle:oci:@MyDB”;

String user = “test”;

String password = “test”;

Connection conn = null;

try {

Class.forName(driver).newInstance();

conn = DriverManager.getConnection(url, user, password);

System.out.println(“Connected”);

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

2.2 Thin驱动

Thin驱动是Oracle的纯Java数据库驱动程序,通过网络协议连接数据库。相对于OCI驱动,Thin驱动不需要安装Oracle客户端,也不需要设置环境变量,只需要添加相应的jar包即可。使用Thin驱动连接Oracle,需要在URL中添加“thin”属性。以下是使用Thin驱动连接Oracle的代码:

import java.sql.*;

public class MyConnection {

public static void mn(String[] args) {

String driver = “oracle.jdbc.driver.OracleDriver”;

String url = “jdbc:oracle:thin:@//localhost:1521/MyDB”;

String user = “test”;

String password = “test”;

Connection conn = null;

try {

Class.forName(driver).newInstance();

conn = DriverManager.getConnection(url, user, password);

System.out.println(“Connected”);

} catch (Exception e) {

System.out.println(e.getMessage());

}

}

}

需要注意的是,JDK1.6及以上版本中已经内置了Oracle JDBC驱动程序,因此您无需再下载Oracle JDBC驱动程序。如果您使用的是JDK 1.5或更低版本,则需要将Oracle JDBC驱动程序添加到CLASSPATH中。


数据运维技术 » 型深入浅出Oracle数据库驱动类型探讨(oracle使用的驱动类)