jdbc 的连接方式 thin, oci
os: centos 7.6
db: oracle 19.3
jdbc 连接 oracle 有两种常见方式,thin 和 coi.
开发人员一般配置的都是 thin 方式,简单.
thin
thin 是 for thin client 的意思,是纯java实现的,通过Java sockets进行通信,属于4类驱动。
因此不需要在使用JDBC Thin的客户端机器上安装orcale客户端软件,所以有很好的移植性,通常用在web开发中。
JDBC Thin using an SID:
jdbc:oracle:thin:@192.168.56.100:1521:pdb1
JDBC Thin using a ServiceName:
jdbc:oracle:thin:@//192.168.56.100:1521/pdb1
JDBC Thin using a TNS
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.100)(PORT=1521)))(CONNECT_DATA= (SERVER = DEDICATED)(SERVICE_NAME=pdb1)))
JDBC Thin using a TNSName
thin + tnsname 这个比较少见
jdbc:oracle:thin:@tns_pdb1
oci
oci是oracle call interface的缩写,是用C语言实现的,属于2类驱动。
因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以.dll方式或者.so提供的oci和服务器配置。
使用 coi ,最小环境为安装 Oracle Instant Client.
使用 oci 方式,一般是在 rac 的环境下,所以在 database server 端要创建 service ,并配置好 failover type.
JDBC Oci using an SID:
jdbc:oracle:oci:@192.168.56.100:1521:pdb1
JDBC Oci using a TNSName
jdbc:oracle:oci:@tns_pdb1
tnsname
不管是通过 thin 还是 oci 方式,使用 tnsname 就需要做一些额外设置
在运行java的用户下,或者全局设置
这里安装的是 Oracle Instant Client 19.3
$ vi /home/oracle/.bash_profileexport ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.3.0/instantclient_19_3export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss'export PATH=.:${PATH}:$HOME/bin:$ORACLE_HOME:$ORACLE_HOME/bin
export PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH=${PATH}:$ORACLE_BASE/common/oracle/binexport LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME:$ORACLE_HOME/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/libexport CLASSPATH=${CLASSPATH}:$ORACLE_HOME/JRE
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
export CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlibexport TEMP=/tmp
export TMP=/tmp
export TMPDIR=/tmp
$ vi $ORACLE_HOME/network/admin/tnsnames.oratns_pdb1=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=192.168.56.100)(PORT=1521)))(CONNECT_DATA= (SERVER = DEDICATED)(SERVICE_NAME=pdb1)))
参考:
https://www.oracle.com/database/technologies/instant-client/downloads.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdbc/JDBC-Thin-features.html#GUID-003FC8A9-9CD7-41C4-AD73-BE6F5D13D1DB
https://docs.oracle.com/en/database/oracle/oracle-database/19/jjdbc/JDBC-OCI-features.html#GUID-A8201BD0-BAED-4C54-B53B-C26C5F295B32
jdbc 的连接方式 thin, oci相关推荐
- 转:ORACLE的JDBC连接方式:OCI和THIN
oracle的jdbc连接方式:oci和thin oci和thin是Oracle提供的两套Java访问Oracle数据库方式. thin是一种瘦客户端的连接方式,即采用这种连接方式不需要安装oracl ...
- orcle数据库代码连接方式(jdbc:oracle:thin:@192.168.3.98:1521:orcl)
一. jdbc:oracle:thin:@192.168.3.98:1521:orcl jdbc:表示采用jdbc方式连接数据库 oracle:表示连接的是oracle数据库 thin:表示连接时采用 ...
- Java连接Oracle两种方式thin与oci区别
Java连接Oracle两种方式thin与oci区别 前几天同事跑过来跟我说, 机房中的一台tomcat服务器跟oracle数据库机连接很慢,查看控制台中的hibernate日志, 基本上是一条sql ...
- oracle9i oci driver,Oracle连接 Oracle 的OCI Driver 和 Thin Driver的区别
我是今天看到tomcat数据源的配置时,想起来这个问题,刚开始还不晓得thin是什么东西! database.url=jdbc:oracle:thin:angel/oracle@192.168.55. ...
- Jdbc连接mysql的五种连接方式
一:五种连接方式 直接上码 package com.wyjedu.jdbc;import com.mysql.jdbc.Driver;import java.io.FileInputStream; i ...
- JDBC 与 JNDI 这两种连接方式 区别
jdbc(Java Data Base Connectivity)是数据库中间代理商为了是java连接数据库而定的一个协议 或者说是方法,通过jdbc-odbc的方法进行数据库连接,是连接一次创建一次 ...
- 项目案例模板之jdbc两种连接方式
项目案例模板之jdbc两种连接方式 第一种连接方式 JDBCUtils.java package jdbc;import org.junit.jupiter.api.Test;import jav ...
- JDBC二:连接方式
JDBC连接的方式 引入 五种方式之间是渐进迭代关系,前4种连接方式有助于理解jdbc连接的实质,实际开发中采用最后一种方式 一.方式一 通过第三方API中的实现类进行数据库连接 @Testpubli ...
- Oracle 11g DRCP连接方式——基本原理
学习Oracle是一个复杂.繁琐的过程.在浩如烟海的Oracle官方资料.新特性.MOS资料和各种Internal知识面前,我们总是觉得力不从心.不知所措.但是,这往往也就是我们不断坚持.积累和追寻的 ...
最新文章
- twofive(记忆搜索)
- Swift学习总结【持续更新】
- 信纳比(SINAD)介绍
- linux实战案例作业(1)
- 解决Warning: Ignoring InnerClasses attribute for an anonymous inner class
- php setcookie使用变量,PHP setcookie() 函数
- 望城2019年华为软件云项目_今天,华为、京东两大项目在长沙开工
- bug篇——mysql排序混乱问题
- 拓端tecdat:R语言KMEANS均值聚类和层次聚类:亚洲国家地区生活幸福质量异同可视化分析和选择最优聚类数
- CentOS 7.5 yum 安装 Git
- java中的map是什么_Java中Map的使用
- Python计算水仙花数
- html网页中获取vf数据到mysql_vfp教程之用FoxWeb在网上快速发布你的FOXPRO数据库
- eNSP教程 —— 物理机如何使用web登录到防火墙
- 【SEU程序设计课笔记】 Mooc - Chapter 6 - (EX) - 泰勒展开求sin(x)/计算PI的近似值
- linux -第一式(终端开启键盘背光)
- vue2源码解读笔记(一)
- [附源码]计算机毕业设计SpringBoot高血压分析平台
- 长安链ChainMaker的多链隔离设计
- 线程池的几个重要参数