jdbc連線oracle

tthero00boo發表於2013-12-30

jdbc thin/oci模式 ,jdbc-odbc橋 連線oracle

// jdbc-odbc橋(需要配置odbc資料來源)

    Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
    conn = DriverManager.getConnection("jdbc:odbc:dsmyorcl", "scott", "tiger");

// jdbc thin模式(:例項名ORACLE_SID 僅需classpath中包含jdbc驅動的jar包)
  
    Class. forName("oracle.jdbc.OracleDriver" );
    conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.233.88:1521:myorcl11", " scott", "tiger");

// jdbc oci模式(@本地服務名 需要安裝oracle客戶端)  
  
    Class. forName("oracle.jdbc.OracleDriver" );
    conn = DriverManager. getConnection("jdbc:oracle:oci8:@myorcl11" , "scott" , "tiger" );


1. 在64位Windows系統中,預設資料來源(ODBC)是64位的,"控制皮膚--管理工具--資料來源"或在執行中直接執行odbcad32

如果客戶端是32位應用程式,仍然需要配置32位ODBC資料來源,這時需要執行"C:\Windows\SysWOW64\odbcad32.exe"來啟動ODBC,新增32位的ODBC資料來源。

2. 建議使用oracle.jdbc.OracleDriver類,不建議使用oracle.jdbc.driver.OracleDriver。
從9.0.1開始的每個release都推薦使用oracle.jdbc。


thin是一種瘦客戶端的連線方式,即採用這種連線方式不需要安裝oracle客戶端,只要求classpath中包含jdbc驅動的jar包就行。
thin就是純粹用Java實現的ORACLE資料庫訪問介面。一般用在執行在WEB瀏覽器中的JAVA程式,有很好的移植性

oci是一種胖客戶端的連線方式,即採用這種連線方式需要安裝oracle客戶端。oci是Oracle Call Interface的首字母縮寫,
是ORACLE公司提供了訪問介面,就是使用Java來呼叫本機的Oracle客戶端,然後再訪問資料庫,優點是速度快


import java.sql.*;

 
public class TestJDBC {
 
  public static void main(String[] args) {
  ResultSet rs = null;
  Statement stmt = null;
  Connection conn = null;
  try {
        // jdbc-odbc橋
   //Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
   //conn = DriverManager.getConnection("jdbc:odbc:dsmyorcl", "scott", "tiger");
        //jdbc thin/oci連線
   Class. forName("oracle.jdbc.OracleDriver" );
   //conn = DriverManager.getConnection("jdbc:oracle:thin:@192.168.233.88:1521:myorcl11", " scott", "tiger");
   conn = DriverManager. getConnection("jdbc:oracle:oci8:@myorcl11" , "scott" , "tiger" );
   stmt = conn.createStatement();
   rs = stmt.executeQuery( "select * from dept" );
   while(rs.next()) {
    System. out.println(rs.getString( "DEPTNO" ));
    //System.out.println(rs.getInt("deptno")); 
   }
  } catch (ClassNotFoundException e) {
   e.printStackTrace();
  } catch (SQLException e) {
   e.printStackTrace();
  } finally {
   try {
    if(rs != null ) {
     rs.close();
     rs = null;
    }
    if(stmt != null ) {
     stmt.close();
     stmt = null;
    }
    if(conn != null ) {
     conn.close();
     conn = null;
    }
   } catch (SQLException e) {
    e.printStackTrace();
   }
  }
 }
 

 

OCI Connect Format:
1、jdbc:oracle:oci:@//:/service
2、jdbc:oracle:oci:@::
3、jdbc:oracle:oci:@

Thin JDBC URL Format:
1、jdbc:oracle:thin:@//:/service
2、jdbc:oracle:thin:@::
3、jdbc:oracle:thin:@

 

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28859270/viewspace-1065783/,如需轉載,請註明出處,否則將追究法律責任。

相關文章