zoukankan      html  css  js  c++  java
  • 使用jdbc连接上oracle的两种方法

    1、 使用thin连接

    优点:thin驱动都是纯Java代码,并且使用TCP/IP技术通过java的Socket连接上Oracle数据库,所以thin驱动是与平台无关的,无需安装Oracle客户端,只需要下载一个thin驱动的jar包,并且将环境变量中的CLASS_PATH变量中加入thin驱动的路径就可以了。

    缺陷:就是thin性能一般,达不到如OCI方式的企业级的要求。另外,如果一个oracle数据库对应一台主机,可以使用thin连接;如果一个oracle数据库对应四五台主机(集群服务器),使用thin时,需要把tnsnames.ora文件中的相关数据库的整个连接字符串都拷贝下来,如此才能连接上oracle集群数据库。

    固定的写法:

    Class.forName("oracle.jdbc.driver.OracleDriver");

    Connection conn =DriverManager.getConnection ("jdbc:oracle:thin:@192.168.75.14:1521:db1","test" , "test");

    2、 使用oci连接(Oracle Call Interface)

    优点:使用OCI连接数据库是企业级的做法,适应于单个数据库和集群数据库,性能优越,尤其是连接池功能大大提高了应用程序的性能和并发量。

    缺点: 若想使用OCI必须要安装Oracle客户端。

    安装完Oracle客户端后,里面有个jdbc的文件夹,该文件夹下就包含了OCI驱动和THIN驱动。所以是不需要去网上下载的。这个驱动在jdbc/lib文件夹下,主要有classes12.jar、nls_charset12.jar等等。其中以12结尾的驱动包适应于jdk1.1以上的版本。以11结尾的适应于jdk1.1以下的版本。文件名中含有classes的jar包就是驱动程序,文件名中含有nls的jar包是与国际化有关的类。

    找到文件后,就需要把class和nls的jar包的绝对路径加入CLASS_PATH环境变量,否则会报ClassNotFound的异常。

    设置环境变量后,就可以直接使用OCI驱动了,不要被“驱动”两个字吓坏了,(驱动就是一个可执行文件和一个连接字符串)。很简单,无非是连接字符串的问题。标准的连接字符串如下所示:

    Class.forName("oracle.jdbc.driver.OracleDriver");

    Connection con = DriverManager.getConnection("jdbc:oracle:oci:@db1","test", "test");

    只要这两行,就可以保证连接到数据库,而这个数据库不管是单个数据库还是集群数据库。其中db1就是数据库名,test就是用户名,test就是密码。这种方式和C#中的方式比较类似。

    需要注意的问题:

    1、oracle_home/jdbc文件夹下有大量的样板代码和帮助文档,里面对如何安装和使用jdbc都有详细的说明,请引起高度重视并耐心阅读。里面有很多知识仅通过自己反复的实践是无法获取的。

    2、如果想要高性能,请使用OCI连接,如果不想装Oracle客户端,请使用thin连接。

  • 相关阅读:
    2. Add Two Numbers
    1. Two Sum
    leetcode 213. 打家劫舍 II JAVA
    leetcode 48. 旋转图像 java
    leetcode 45. 跳跃游戏 II JAVA
    leetcode 42. 接雨水 JAVA
    40. 组合总和 II leetcode JAVA
    24. 两两交换链表中的节点 leetcode
    1002. 查找常用字符 leecode
    leetcode 23. 合并K个排序链表 JAVA
  • 原文地址:https://www.cnblogs.com/luoyx/p/5969366.html
Copyright © 2011-2022 走看看