型深入浅出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中。