`

Oracle的oci和thin的不同

阅读更多
今天,在配置开发环境的时候,出现了一个问题。
按照常规,修改了平时填写Oracle SID或者SERVICE_NAME的地方,启动Jboss
报错:java.sql.SQLException: ORA-12154: TNS:could not resolve the connect identifier specified
不能识别指定的连接标识符……

仔细检查一遍,发现问题,在配置文件里面怎么看不到在哪设置ip地址跟端口号?
找原来的项目的连接标识符,对比如下:
原来的是jdbc:oracle:thin:@172.0.0.1:1521:orcl
现在的是jdbc:oracle:oci:@land
thin变成了oci,原来的ip地址跟端口号没了

立马反映过来,下面的land就是就是配置Oracle客户端时候的连接字符串,oci连接oracle方式类似于PLSQL Developer连接oracle,land包含了IP、端口、SID信息。
修改配置文件,把填的SID改成自己定义的服务别名,搞定!


总结:
1、使用oci方式连接,需要安装Oracle客户端(网上有精简版本的,down下来,配置一下环境变量就ok)。使用thin方式就不需要。因此,个人感觉还是thin方式方便。
2、原理上分析:thin方式是纯java实现tcp/ip的通讯;而oci方式,客户端通过native java method调用c library访问服务端,而这个c library就是oci(oracle called interface),因此这个oci总是需要随着oracle客户端安装
3、驱动类别不同,oci是二类驱动,thin是三、四类驱动。
4、性能方面,没研究过,有待发现。
分享到:
评论
1 楼 antonyup_2006 2009-08-17  
lz说的挺明白的,前几天面试被问到过这问题 oci和thin的区别 怪自己平时配置好datasours后没仔细去研究其中的细节啊!要是能回答到这个份上也ok了!

相关推荐

    Java用OCI驱连Oracle数据库的实现方法

    在Java连接Oracle数据库时,主要通过两种类型的驱动程序:OCI和Thin。OCI是Oracle提供的本地库接口,它提供了一种高效、低延迟的方式与Oracle数据库交互,特别适合于需要高性能的应用场景。而Thin驱动则是一种纯Java...

    jdbc-oracle-thinjdbc-oracle-thin

    其中,Oracle 提供了两种主要类型的 JDBC 驱动:JDBC-Oracle-Thin 和 OCI(Oracle Call Interface)驱动。本文主要关注的是 JDBC-Oracle-Thin 驱动。 ##### 1.1 JDBC-Oracle-Thin 的定义 JDBC-Oracle-Thin 驱动是...

    ojdbc14.zip

    oracle的oci和thin连接的区别 1)从使用上来说,oci必须在客户机上安装oracle客户端或才能连接,而thin就不需要,因此从使用上来讲thin还是更加方便,这也是thin比较常见的原因。 2)原理上来看,thin是纯java实现...

    oracle 10.1和10.2的JDBC驱动

    总的来说,Oracle 10.1 和 10.2 的 JDBC 驱动为 Java 开发人员提供了与 Oracle 数据库交互的能力,无论是轻量级的 Thin 驱动还是功能强大的 OCI 驱动,都能满足不同应用场景的需求。正确配置和使用这些驱动,可以...

    Oracle数据库连接详细说明

    Oracle数据库是企业级广泛应用的关系型数据库系统,连接Oracle数据库的方式有多种,主要涵盖JDBC的三种方式:OCI方式、thin方式以及JdbcOdbc桥接方式。这些方式各有特点,适用于不同的场景。 1. OCI(Oracle Call ...

    oracle驱动ojdbc678oracle11g

    Oracle JDBC驱动提供了多种类型的驱动,包括 Thin、OCI、JDBC-ODBC Bridge 和 Native Protocol 驱动,其中ojdbc6对应的是Thin驱动,这是一种纯Java实现,无需Oracle客户端软件即可运行,适用于跨平台的分布式环境。...

    Java连接Oracle数据库驱动(各种版本)

    Java classes when using the JDBC Thin and OCI client-side driver - with Java 7.0 VM. ojdbc6.jar Java classes when using the JDBC Thin and OCI client-side driver - with Java 6.0 VM. ojdbc5.jar Java ...

    oracle连接需要的驱动

    2. ** Shared Library Driver (jdbc:oracle:oci)**:也称为OCI驱动,依赖于Oracle的本地客户端库(Oracle Client)。这种驱动适合于在同一台机器上运行的应用程序和数据库,或者需要访问Oracle特定功能(如LOB、...

    Java连接Oracle数据库的各种方法

    Oracle8i提供了三种类型的JDBC驱动:JDBC OCI、JDBC Thin和JDBC KPRB。JDBC OCI类似于传统的ODBC驱动,需要客户端软件支持;JDBC Thin通过Java套接字直接与数据库通信,不需要额外的客户端软件;JDBC KPRB主要用于...

    oracle jdbc jar包

    Oracle JDBC驱动主要有四种类型: Thin、OCI、JDBC-ODBC Bridge 和 Universal Connection Pool (UCP)。 1. Thin驱动(Oracle JDBC Thin Driver): 这是一种纯Java实现的驱动,不需要Oracle客户端软件。它直接通过...

    oracle各个版本的驱动jar包.zip

    4. **Universal Driver**:Oracle Universal Driver是一种多协议驱动,可以支持JDBC-ODBC桥、thin驱动和共享库驱动。它使得开发者可以根据环境选择最适合的驱动方式。 压缩包中的文件名列表表明,它包含了不同版本...

    oracle10g需要的jar

    Oracle 10g的JDBC驱动主要有两种类型: Thin驱动和 OCI(Oracle Call Interface)驱动。Thin驱动是一种纯Java实现,不需要Oracle客户端软件,而OCI驱动则依赖于本地Oracle客户端库,提供更好的性能和功能,但需要更...

    Oracle API

    Oracle JDBC驱动程序分为 Thin、OCI和JDBC-ODBC桥三种类型。 Thin驱动是纯Java实现,无需Oracle客户端;OCI驱动依赖于本地Oracle客户端库,支持更多的功能;JDBC-ODBC桥则通过ODBC连接Oracle,适合已有的ODBC应用。 ...

    各版本Oracle JDBC驱动

    Oracle JDBC驱动主要分为两种:Oracle JDBC Thin驱动和Oracle JDBC OCI驱动。其中,OJDBC(Oracle JDBC Thin Driver)是Type 4驱动,无需Oracle客户端,轻量级且高效。而Oracle JDBC OCI驱动(Oracle Call Interface...

    oracle驱动的区别

    Oracle提供了多种不同的JDBC驱动程序,以适应不同的应用场景和技术需求。 #### Oracle JDBC驱动的主要类型: 1. **JDBC OCI (Oracle Call Interface)**:这是一种早期的驱动形式,它通过ODBC(Open Database ...

    oracle jdbc dirver

    Oracle JDBC驱动分为不同版本,包括 Thin、OCI、JDBC-ODBC Bridge 和 WebLogic Server Driver。 1. ** Thin 驱动**:也称为纯Java驱动,是一种类型4 JDBC驱动。它不需要Oracle客户端软件,直接通过网络与数据库...

    连接Oracle所须jar包

    首先,Oracle JDBC驱动主要有两种类型: Thin driver 和 OCI driver。Thin driver 是一种纯Java实现,无需Oracle客户端软件即可运行,适用于网络连接。而OCI driver 需要Oracle客户端安装,它依赖于本地的Oracle库,...

    oracle jar包下载 支持JDK1.6及以上

    在Java中,Oracle的JDBC驱动通常被称为"ojdbc",主要有四种类型: Thin、 Thick、OCI和JDBC-ODBC桥。其中,Thin驱动是一个纯Java实现,无需本地Oracle客户端软件,适用于跨平台的远程数据库连接;Thick驱动则包含...

    OJDBC版本区别

    OJDBC 驱动程序可以分为两类:JDBC OCI 和 JDBC Thin。JDBC OCI 驱动需要 Oracle Call Interface 和 Net8,需要在客户端机器上安装 Oracle 客户端软件。JDBC Thin 驱动则是纯 Java 实现的,不需要安装客户端软件,...

    oracle API.chm

    Oracle提供了Oracle JDBC驱动程序,包括 Thin Driver 和 OCI Driver,前者是纯Java实现,不依赖于Oracle客户端,而后者需要Oracle客户端库。JDBC提供了一系列的接口和类,如Connection、Statement、...

Global site tag (gtag.js) - Google Analytics