Oracle开发jdbc thin与 oci 连接方式 区别

一、jdbc thin

1.1 定义

thin就是纯粹用Java写的ORACLE数据库访问接口

瘦客户端的连接方式,采用这种连接方式不需要安装oracle客户端,只要求包含jdbc驱动的jar包就行。

1.2 实现

参考: JDBC连接Oracle数据库(一)-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: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@本地服务名即可。

相关推荐
IT_陈寒39 分钟前
Java Stream处理大集合,我的内存怎么就炸了
前端·人工智能·后端
悟空码字1 小时前
四轮对话两张配图:用 WorkBuddy 优化公众号发文配图的实战指南
人工智能·后端·腾讯
ServBay1 小时前
xAI的 Grok Bot发布,AI 已经学会自己上班了
后端·ai编程·grok
分支预测失败1 小时前
RISC-V 多核缓存一致性机制解析:MESI 协议族、CMO 扩展与 Linux 同步原语
后端
n8n1 小时前
Spring AI 检索增强生成(RAG)实战:让模型掌握你的私有知识
后端
Nturmoils1 小时前
只备份一个 schema,别把整库都搬走
后端
妙码生花1 小时前
利用AI从零学Go并完成实战项目,完工总结:目录结构
前端·后端·go
妙码生花1 小时前
利用AI从零学Go并完成实战项目,完工总结:商业级开源产品定位和核心特性介绍
前端·后端·go
程序员cxuan2 小时前
GPT-6 Astra 的提示词泄露了,里面居然藏着个保安?
人工智能·后端·程序员
苍何2 小时前
WorkBuddy + 飞书的 8 种神仙用法(建议收藏)
后端