一、jdbc thin
1.1 定义
thin就是纯粹用Java写的ORACLE数据库访问接口
瘦客户端的连接方式,采用这种连接方式不需要安装oracle客户端,只要求包含jdbc驱动的jar包就行。
1.2 实现
ini
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] args) {
Connection conn=null;
try {
String url="jdbc:oracle:thin:@127.0.0.1:1521:orcl";
String user="hr";
String password="xyy123";
Class.forName("oracle.jdbc.driver.OracleDriver");//加载数据驱动
conn = DriverManager.getConnection(url, user, password);// 连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败");
}catch(Exception e){
e.printStackTrace();
System.out.println("连接数据库失败");
}
}
}
二、jdbc oci
2.1 定义
oci是一种胖客户端的连接方式,采用这种连接方式需要安装oracle客户端。
oci是Oracle Call Interface的首字母缩写,是ORACLE公司提供了访问接口。
使用Java来调用本机的Oracle客户端,然后再访问数据库,优点是速度 快,但是需要安装和配置数据库。
2.2 实现
参考: java使用oci方式连接oracle_ocijdbc23 csdn-CSDN博客
ini
import java.sql.Connection;
import java.sql.DriverManager;
public class Main {
public static void main(String[] args) {
Connection conn=null;
try {
String url="jdbc:oracle:oci:@127.0.0.1:1521:orcl";
String user="hr";
String password="xyy123";
Class.forName("oracle.jdbc.driver.OracleDriver");//加载数据驱动
conn = DriverManager.getConnection(url, user, password);// 连接数据库
} catch (ClassNotFoundException e) {
e.printStackTrace();
System.out.println("加载数据库驱动失败");
}catch(Exception e){
e.printStackTrace();
System.out.println("连接数据库失败");
}
}
}
三、区别
oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。
thin是纯java实现tcp/ip的c/s通讯;而oci方式,
thin驱动切换到oci驱动很简单,只需把连接字符串java:oracle:thin:@hostip:1521:实例名换为java:oracle:oci@本地服务名即可。