Oracle 数据库中三种不同类型的JDBC驱动

数据库 Oracle
我们今天主要介绍的是Oracle 数据库里三种不同类型的JDBC驱动以及其实际相关代码的描述,以下就是文章的具体内容的描述。

以下的文章主要介绍的是Oracle 数据库里三种不同类型的JDBC驱动,我们大家都知道Oracle 中的jdbc驱动主要有以下的三类,即,1、JDBC OCI: oci是Oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。

因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置。

2、JDBC Thin: thin是for thin client的意思,这种驱动一般用在运行在WEB浏览器中的JAVA程序。它不是通过OCI or Net8,而是通过Java sockets进行通信,是纯java实现的驱动,因此不需要在使用JDBC Thin的客户端机器上安装orcale客户端软件,所以有很好的移植性,通常用在web开发中。

3、JDBC KPRB: 这种驱动由直接存储在数据库中的JAVA程序使用,如Java Stored Procedures 、triggers、Database JSP's。因为是在服务器内部使用,他使用默认或当前的会话连接来访数据库,不需要用户名密码等,也不需要数据库url。

在应用开发的时候,通常是用前面两种方式,下面是数据库url的写法:

 

  1. jdbc:Oracle :thin:@server ip: service  
  2. jdbc:Oracle :oci:@service  

 

看来oci的还更加简洁,ip可以省掉不写了,这是因为oci驱动通过客户端的native java methods来条用c library方式来访问数据库服务器,使用到了客户端的net manager里的数据库服务配置。

因为oci方式最终与数据库服务器通信交互是用的c library库,理论上性能优于thin方式,据说主要是体现在blob字段的存取上。

开发Oracle 数据库经常用到的 pl sql dev使用的估计是oci方式,需要安装客户端,但也可以不安装,但是要抽出其中的oci相关的dll即jar包、注册环境变量、配置侦听文件等。Oracle 在10g之后提供了精简客户端,安装的过程应该包括上面的那些工作。

 

  1. How does one connect with the JDBC OCI Driver?  
  2. One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers.  
  3. Code: [Copy to clipboard]  
  4. import java.sql.*;  
  5. class dbAccess {  
  6. public static void main (String args []) throws SQLException  
  7. {  
  8. try {  
  9. Class.forName ("Oracle .jdbc.driver.Oracle Driver");  
  10. } catch (ClassNotFoundException e) {  
  11. e.printStackTrace();  
  12. }  
  13. Connection conn = DriverManager.getConnection  
  14. ("jdbc:Oracle :oci8:@ORA1", "scott", "tiger");  
  15. // or oci9 @Service, userid, password  
  16. Statement stmt = conn.createStatement();  
  17. ResultSet rset = stmt.executeQuery (  
  18. "select BANNER from SYS.V_$VERSION"  
  19. );  
  20. while (rset.next())  
  21. System.out.println (rset.getString(1)); // Print col 1  
  22. stmt.close();  
  23. }  
  24. }  
  25. How does one connect with the JDBC KPRB Driver?  
  26. One can obtain a handle to the default or current connection 
    (KPRB driver) by calling the Oracle Driver.defaultConenction() method. 
    Please note that you do not need to specify a database URL, 
    username or password as you are already connected to a database session. 
    Remember not to close the default connection. 
    Closing the default connection might throw an exception in future releases of Oracle .  
  27. import java.sql.*;  
  28. Code: [Copy to clipboard]  
  29. class dbAccess {  
  30. public static void main (String args []) throws SQLException  
  31. {  
  32. Connection conn = (new  
  33. Oracle .jdbc.driver.Oracle Driver()).defaultConnection();  
  34. Statement stmt = conn.createStatement();  
  35. ResultSet rset = stmt.executeQuery (  
  36. "select BANNER from SYS.V_$VERSION"  
  37. );  
  38. while (rset.next())  
  39. System.out.println (rset.getString(1)); // Print col 1  
  40. stmt.close();  
  41. }  
  42. }   

以上的相关内容就是对Oracle 数据库中三种类型的JDBC驱动的介绍,望你能有所收获。

【编辑推荐】

  1. OracleSQL调优的作用是什么?
  2. Oracle权限分类及其具体内容
  3. Oracle 查询记录相关效率的查询
  4. Oracle存取LONG类型字段的方案描述
  5. Oracle数据库的类型LONG功能的介绍
责任编辑:佚名 来源: 博客园
相关推荐

2010-04-12 16:35:15

Oracle数据库

2010-04-02 13:15:01

Oracle跟踪

2009-07-22 11:33:14

JDBC连接Sybas

2010-07-07 09:14:35

SQL Server数

2010-11-19 14:51:09

Oracle数据库关闭

2011-05-26 13:16:37

Oracle数据库备份

2022-12-20 10:48:24

数字化转型首席信息官

2010-10-26 13:33:08

Oracle自动备份

2019-11-23 17:10:58

MySQL数据库default

2010-03-30 11:15:26

Oracle数据库

2009-08-06 15:26:18

C#异常类型

2011-08-01 18:42:40

分区维度物化视图

2010-05-10 09:48:46

Oracle优化器

2011-04-12 11:46:26

Oracle优化器

2017-06-29 14:12:13

SQL ServerMysqlOracle

2011-05-20 17:08:32

2020-08-27 07:00:00

游戏游戏测试测试技术

2018-01-17 15:02:28

VMware网络连接

2024-02-26 13:47:00

C#Socket数据接收

2023-07-19 09:50:25

人工智能算法
点赞
收藏

51CTO技术栈公众号