ORACLE中三种类型的JDBC驱动

ORACLE中三种类型的JDBC驱动  oracle的jdbc驱动主要有下面三类: 参考资料:www.svn8.com

  1、JDBC OCI: oci是oracle call interface的缩写,此驱动类似于传统的ODBC 驱动。因为它需要Oracle Call Interface and Net8,所以它需要在运行使用此驱动的JAVA程序的机器上安装客户端软件,其实主要是用到orcale客户端里以dll方式提供的oci和服务器配置。 Svn中文网

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

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

  在应用开发的时候,通常是用前面两种方式,下面是数据库url的写法: 参考资料:www.svn8.com

  jdbc:oracle:thin:@server ip: service 参考资料:www.svn8.com

  jdbc:oracle:oci:@service

Www.Svn8.Com

 

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

Svn中文网

 

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

Svn8.Com

 

  开发oracle经常用到的 pl sql dev使用的估计是oci方式,需要安装客户端,但也可以不安装,但是要抽出其中的oci相关的dll即jar包、注册环境变量、配置侦听文件等,详细步骤可参考这个链接http://blog.csdn.net/shenyc/archive/2009/10/22/4713991.aspx。

Www.Svn8.Com

 

  oracle在10g之后提供了精简客户端,安装的过程应该包括上面的那些工作。 Www.Svn8.Com

  How does one connect with the JDBC OCI Driver? Svn8.Com

  One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers. 参考资料:www.svn8.com

  Code: [Copy to clipboard]

Svn8.Com

 

  import java.sql.*;

Www.Svn8.Com

 

  class dbAccess {

Svn中文网

 

  public static void main (String args []) throws SQLException Bbs.Svn8.Com

  {

Www.Svn8.Com

 

  try {

Www.Svn8.Com

 

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

Svn中文网

 

  } catch (ClassNotFoundException e) { 参考资料:www.svn8.com

  e.printStackTrace(); 参考资料:www.svn8.com

  }

Www.Svn8.Com

 

  Connection conn = DriverManager.getConnection

Svn中文网

 

  ("jdbc:oracle:oci8:@ORA1", "scott", "tiger");

Bbs.Svn8.Com

 

  // or oci9 @Service, userid, password

Www.Svn8.Com

 

  Statement stmt = conn.createStatement(); Svn8.Com

  ResultSet rset = stmt.executeQuery ( Www.Svn8.Com

  "select BANNER from SYS.V_$VERSION" Svn中文网

  ); Bbs.Svn8.Com

  while (rset.next())

Svn8.Com

 

  System.out.println (rset.getString(1)); // Print col 1 Bbs.Svn8.Com

  stmt.close();

Bbs.Svn8.Com

 

  }

Svn中文网

 

  }

参考资料:www.svn8.com

 

  How does one connect with the JDBC KPRB Driver? Svn8.Com

  One can obtain a handle to the default or current connection (KPRB driver) by calling the OracleDriver.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.

 

import java.sql.*;

  Code: [Copy to clipboard] Www.Svn8.Com

  class dbAccess {

参考资料:www.svn8.com

  public static void main (String args []) throws SQLException

Svn中文网


  {

Bbs.Svn8.Com

  Connection conn = (new

Svn8.Com

  oracle.jdbc.driver.OracleDriver()).defaultConnection();

Svn中文网


  Statement stmt = conn.createStatement();

Svn8.Com

  ResultSet rset = stmt.executeQuery (

参考资料:www.svn8.com

  "select BANNER from SYS.V_$VERSION" 参考资料:www.svn8.com

  );

Svn中文网

  while (rset.next()) Bbs.Svn8.Com

  System.out.println (rset.getString(1)); // Print col 1 Svn中文网

  stmt.close();

Svn中文网

  } Bbs.Svn8.Com

  }

Bbs.Svn8.Com


摘自:http://www.svn8.com/sql/Oracle/2010040928716_2.html

你可能感兴趣的:(oracle,数据库,jdbc,SVN,database,数据库服务器)