程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle數據庫基礎 >> java訪問Oracle數據庫

java訪問Oracle數據庫

編輯:Oracle數據庫基礎
 在J2EE應用程序開發中,應用程序與數據庫連接的建立是我們經常遇到的問題之一。在這裡我主要談談在本地應用程序中通過OCI方式、thin方式和 JdbcOdbc橋方式連接Oracle數據庫,在iPlanet Application Server 6.5和Sun ONE Application Server 7中對Oracle數據庫連接池的配置以及應用中如何從連接池中獲得連接。
一、本地通過JDBC獲得Oracle數據庫連接
  通過JDBC獲得Oracle數據庫連接,有三種方式:OCI方式、thin方式和JdbcOdbc橋方式。OCI方式依賴於本地的動態鏈接庫,如果在本地安裝了Oracle數據庫客戶端可以采用該方式;而thin方式為純Java的數據庫連接方式;JdbcOdbc橋方式依賴於本地ODBC數據庫源的配置,這種方式一般不太被采用。
1、OCI方式
  先在本地安裝Oracle客戶端,安裝完之後,在安裝的路徑中可以找到…/jdbc/lib/classes12.zip文件,我們在環境變量classpath中設置classes12.zip所在的路徑。
  然後通過以下的數據庫連接類,在本地通過OCI方式獲得Oracle數據庫連接。
/**
* 在本地獲得數據庫連接
*/
package com.J2EE.db;
import Java.util.*;
import java.sql.*; import Javax.sql.*;
import Java.io.*;
import Oracle.jdbc.driver.*;
import Javax.naming.*;
/**
* 通過OCI方式獲得Oracle數據庫連接
*/
public class DbConnection
{
  final static String sDBDriver = "oracle.jdbc.driver.OracleDriver";
  final static String sConnStr = "jdbc:Oracle:oci8:sr/sr@ora199";
  /**
  *
  */
  public DbConnection() { }
  /**
  * 獲得Oracle數據庫連接
  */
  public Java.sql.Connection connectDbByOci()
  {
   Java.sql.Connection conn=null;
    try {
        Class.forName(sDBDriver);
        conn = DriverManager.getConnection(sConnStr);
      }
    catch (Exception e)
    {
        System.out.println("ERROR:"+e.getMessage());
    }
    return conn;
  }
}
  在連接字符串 "jdbc:oracle:oci8:sr/sr@ora199" 中,"sr/sr"為Oracle用戶的用戶名和口令,"ora199"為數據庫服務名。
2、thin方式
  先到Oracle技術網(http: //otn.Oracle.com/global/cn/software/tech/Java/sqlj_jdbc/index.Html)下載 Oracle JDBC Drivers,同樣地將下載後的zip文件的路徑設置在環境變量classpath。
  然後通過以下的數據庫連接類,在本地通過thin方式獲得Oracle數據庫連接。
/**
* 在本地獲得數據庫連接
*/
package com.J2EE.db;
import Java.util.*;
import Java.sql.*;
import Javax.sql.*;
import Java.io.*;
import Oracle.jdbc.driver.*;
import Javax.naming.*;
/**
* 通過thin方式獲得Oracle數據庫連接
*/
public class DbConnection
{
    private String sConnStr = "";
    /**
    * 缺省構造器
    */
    public DbConnection()
    {
         sConnStr = "jdbc:Oracle:thin:@10.1.4.199:1521:ora199";
    }
    /**
    * @param ip,serviceName
    */
    public DbConnection(String ip,String serviceName)
    {
       sConnStr = "jdbc:Oracle:thin:@"+ip+":1521:"+serviceName;
    }
    /**
    * 通過thin方式獲得Oracle數據庫的連接.
    */
    public Java.sql.Connection connectDbByThin()
    {
         Java.sql.Connection conn=null;
         try
         {
            Class.forName(sDBDriver);
            conn = DriverManager.getConnection(sConnStr,"sr","sr");
         }
         catch (Exception e)
         {
            System.out.println("ERROR:"+e.getMessage());
         }
         return conn;
    }
    /**
    *通過thin方式獲得Oracle數據庫的連接.
    * @param userId,passWord
    */
    public Java.sql.Connection connectByJdbc(String userId,String passWord)
    {
        Java.sql.Connection conn=null;
        try
        {
            Class.forName(sDBDriver);
            conn = DriverManager.getConnection(sConnStr,userId,passWord);
        }
        catch (Exception e)
        {
            System.out.println("ERROR:"+e.getMessage());
        }
        return conn;
    }
}
這種方式運用起來比較靈活,簡單,具有較強的移植性和適用性。只要注意連接字符串"jdbc:Oracle:thin:@10.1.4.199:1521:ora199"中具體參數的設置即可。
3、JdbcOdbc橋方式
  先通過管理工具中的數據源來添加本地對Oracle數據庫的連接,然後通過以下的數據庫連接類,在本地通過JdbcOdbc橋方式獲得Oracle數據庫連接。
/**
* 在本地獲得數據庫連接
*/
package com.J2EE.db;
import Java.util.*;
import Java.sql.*;
import Javax.sql.*;
import Java.io.*;
import Oracle.jdbc.driver.*;
import Javax.naming.*;
/**
* 通過JdbcOdbc橋方式獲得Oracle數據庫連接
*/
public class DbConnection {
  /**
  *
  */
  public DbConnection()
  {
  }
  /**
  * 獲得Oracle數據庫連接
  */
  public Java.sql.Connection connectDbByJdbcOdbcBridge()
  {
     Java.sql.Connection conn=null;
     try
     {
         Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");          con=DriverManager.getConnection("jdbc:odbc:ora199","sr","sr");
     }
     catch (Exception e)
     {
         System.out.println("ERROR:"+e.getMessage());
     }
     return conn;
  }
}
  在getConnection方法中第一個參數"jdbc:odbc:ora199" 中的"ora199"為本地ODBC數據源的數據源名稱,第二個參數和第三個參數分別為Oracle的用戶名和口令。 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved