自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

訪問 Oracle 數(shù)據(jù)庫的實(shí)例描述

數(shù)據(jù)庫 Oracle
本文主要講述的是再安裝Oracle 數(shù)據(jù)庫時(shí)瘦驅(qū)動(dòng)程序是如何進(jìn)行實(shí)際運(yùn)行的,如果你對(duì)其感興趣的話,以下的文章就可以滿足你的興趣。

如果你要使用本文中所給出的相關(guān)示例來訪問 Oracle 數(shù)據(jù)庫,那么你的開發(fā)計(jì)算機(jī)上就需要安裝下面的軟件組件(請(qǐng)參見“下載”portlet 以獲得鏈接):即支持 JDK 1.6 的 Oracle JDBC 瘦驅(qū)動(dòng)程序 。

Oracle 通用連接池庫

Oracle JDBC 瘦驅(qū)動(dòng)程序是一個(gè) Type IV JDBC 驅(qū)動(dòng)程序,這意味著它獨(dú)立于平臺(tái),并且在與 Oracle 數(shù)據(jù)庫交互的客戶端上不需要任何額外的 Oracle 軟件。因此,您可以從 JDBC 驅(qū)動(dòng)程序下載頁面下載包含相應(yīng)瘦驅(qū)動(dòng)程序版本類別的 JAR 文件,然后將該驅(qū)動(dòng)程序安裝在您的計(jì)算機(jī)上,無需安裝/升級(jí)任何其他的 Oracle 軟件。

要安裝該驅(qū)動(dòng)程序,您只需將其 JAR 文件復(fù)制到本地文件系統(tǒng),然后將這些 JAR 的路徑包括在 CLASSPATH 環(huán)境變量中。例如,您可能包括以下路徑:

ORACLE_HOME/jdbc/lib/ojdbc6.jar ORACLE_HOME/jlib/orai18n.jar
如果您的計(jì)算機(jī)上已經(jīng)安裝了 Oracle 數(shù)據(jù)庫,則瘦驅(qū)動(dòng)程序也已經(jīng)隨 Oracle 數(shù)據(jù)庫安裝到您的計(jì)算機(jī)上。

但是,由于瘦驅(qū)動(dòng)程序獨(dú)立于任何其他 Oracle 軟件,因此您可以通過使用相應(yīng)的 JAR 文件(可以在 JDBC 驅(qū)動(dòng)程序下載頁面找到)輕松升級(jí)到該驅(qū)動(dòng)程序的***版本。

UCP 是從 11.1.0.7 版開始引入 Oracle 數(shù)據(jù)庫 11g 的一個(gè)新特性。該特性從 Oracle 應(yīng)用服務(wù)器 11g 第 1 版開始就包含在 Oracle 應(yīng)用服務(wù)器中。如果您使用的是未裝載 UCP 的 JAR 文件(名為 ucp.jar)的舊版本軟件,或者您希望升級(jí)到***的 UCP 版本,可以從 Oracle 數(shù)據(jù)庫 UCP 下載頁面獲取 ucp.jar。

該程序包包含 UCP 的類,以便于將其包括在類路徑中來啟用該特性。所包括的路徑可能如下所示:

ORACLE_HOME/ucp/lib/ucp.jar

使用 UCP 緩存 JDBC 連接

如果您要開發(fā)數(shù)據(jù)庫密集型應(yīng)用程序,可能會(huì)因使用連接池獲益。因?yàn)檫@樣您能夠重用連接,而不是在每次請(qǐng)求連接時(shí)都重新創(chuàng)建一個(gè)新連接。連接池節(jié)約了創(chuàng)建新數(shù)據(jù)庫連接所需的資源,并提高了應(yīng)用程序的性能,因?yàn)閯?chuàng)建新連接始終是一個(gè)性能密集型操作。

Oracle Universal Connection Pool for JDBC 表示一個(gè)用于緩存 JDBC 連接的全功能實(shí)現(xiàn)。UCP 是一個(gè)非常有用的特性,它將使您可以重用連接對(duì)象,從而可以提高獲取連接過程的速度并節(jié)約打開新數(shù)據(jù)庫連接所需的資源。

假設(shè)您希望創(chuàng)建一個(gè) UCP JDBC 連接池來重用到 HR/HR Oracle 數(shù)據(jù)庫示例模式的已建立連接。以下程序是一個(gè) UCP JDBC 連接池實(shí)際運(yùn)行的簡(jiǎn)單示例,將向您展示如何完成此操作。您將首先創(chuàng)建一個(gè)支持池的數(shù)據(jù)源實(shí)例,然后設(shè)置連接和池的屬性。完成后,您將從池中借用一個(gè)連接,然后使用該連接與數(shù)據(jù)庫交互。***,您將關(guān)閉該連接,將其返回到池。

  1. import java.sql.*; import oracle.ucp.jdbc.PoolDataSourceFactory; 
    import oracle.ucp.jdbc.PoolDataSource; 
    public class UcpConnection { public static void main(String args[]) 
    throws SQLException 
    { try { //Creating a pool-enabled data source PoolDataSource 
    pds 
    PoolDataSourceFactory.getPoolDataSource(); 
    //Setting connection properties of the data source pds.
    setConnectionFactoryClassName("oracle.jdbc.pool.OracleDataSource"); 
    pds.setURL("jdbc:oracle:thin:@//localhost:1521/XE"); pds.setUser("hr"); 
    pds.setPassword("hr"); //Setting pool properties pds.setInitialPoolSize(5); 
    pds.setMinPoolSize(5); pds.setMaxPoolSize(10); 
    //Borrowing a connection fro th oo Connection 
    con = pds.getConnection();  
  2. ount(); System.out.println("\nAvailable connections: " + avlConnCount); 
    int 
    brwConnCount = pds.getBorrowedConnectionsCount(); 
    System.out.println("\nBorrowed connections: " + brwConnCount); 
    //Working with the connection Statement 
    stmt = conn.createStatement(); 
    ResultSet 
    rs = stmt.executeQuery("select user from dual"); 
    while(rs.next()) System.out.println("\nConnected as: "+rs.getString(1)); 
    rs.close(); //Returning the connection to the pool conn.close(); 
    conn=null
    System.out.println("\nConnection returned to the pool"); 
    //Checking the number of available and borrowed connections again 
    avlConnCount = 
    pds.getAvailableConnectionsCount(); 
    System.out.println("\nAvailable connections: " + avlConnCount); 
    brwConnCount = pds.getBorrowedConnectionsCount(); 
    System.out.println("\nBorrowed connections: " + brwConnCount); } 
    catch(SQLException e) { System.out.println("\nAn SQL exception occurred : " + e.getMessage()); } } } 

這里值得注意的是關(guān)閉連接時(shí)的變化。以上程序的輸出闡釋了關(guān)閉從 UCP JDBC 連接池中借用的連接將使該連接返回到池,以供下一次連接請(qǐng)求使用。

該應(yīng)用程序的輸出應(yīng)如下所示:

  1. Connection borrowed from the poolAvailable connections: 
    4Borrowed connections: 1Connected as: 
    HRConnection returned to the poolAvailable 
    connections: 5Borrowed connections: 0 


使用 JNDI 借用連接
您還可以提前創(chuàng)建支持池的數(shù)據(jù)源并將其綁定到 Java 命名和目錄接口 (JNDI) 上下文和邏輯名稱,而不是像在之前的示例中那樣即時(shí)創(chuàng)建。將數(shù)據(jù)源注冊(cè)到 JNDI 后,可以通過執(zhí)行 JNDI 查找(指定與數(shù)據(jù)源綁定的 JNDI 名稱)來獲取其實(shí)例。

假設(shè)您要注冊(cè)一個(gè)支持池的數(shù)據(jù)源以重用到 HR/HR 數(shù)據(jù)庫模式的連接,并將該數(shù)據(jù)源與 JNDI 樹中的邏輯名稱 jdbc/HRPool 相關(guān)聯(lián)。為此,必須創(chuàng)建一個(gè)表示上述數(shù)據(jù)源的 PoolDataSource 對(duì)象,設(shè)置其屬性,然后將其注冊(cè)到一個(gè) JNDI 命名服務(wù)。使用以下 Java 程序可以完成此操作:

  1. import oracle.ucp.jdbc.PoolDataSourceFactory; 
    import oracle.ucp.jdbc.PoolDataSource; import javax.naming.*; 
    import java.util.Hashtable; public class JNDIRegister 
    { public static void main(String argv[]) 
    { try { //Creating a pool-enabled data source instance and 
    setting its properties PoolDataSource 
    pds = PoolDataSourceFactory.
    getPoolDataSource(); pds.setConnectionFactoryClassName
    ("oracle.jdbc.pool.OracleDataSource"); pds.setURL
    ("jdbc:oracle:thin:@//localhost:1521/XE"); 
    pds.setUser("hr"); pds.setPassword("hr"); 
    pds.setInitialPoolSize(5); pds.setMinPoolSize(5); 
    pds.setMaxPoolSize(10); //Registering the data source with 
    JNDI Hashtable 
    env = new Hashtable(); 
    env.put(Context.INITIAL_CONTEXT_FACTORY,"
    com.sun.jndi.fscontext.RefFSContextFactory"); 
    Context 
    ctx = new InitialContext(env); 
    ctx.bind("jdbc/HRPool", pds); } catch 
    (Exception e) { System.out.println(e); } } } 

必須先設(shè)置 Sun 的文件系統(tǒng) JNDI 服務(wù)提供程序(可在此處下載),然后才能運(yùn)行此程序。確保將以下 JAR 文件添加到類路徑中,

【編輯推薦】

  1. Oracle動(dòng)態(tài)Web開發(fā)實(shí)例演示
  2. 轉(zhuǎn)移Oracle海量數(shù)據(jù)到另外的用戶流程
  3. Oracle進(jìn)程中出現(xiàn)帶鎖狀況的解決
  4. Oracle內(nèi)存結(jié)構(gòu)里Process Memory實(shí)際操作步驟
  5. 用Oracle屏蔽英文來提示信息的正確方法
責(zé)任編輯:佚名 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2010-04-13 10:55:35

Oracle數(shù)據(jù)庫

2010-04-09 10:32:03

Oracle 數(shù)據(jù)庫

2009-09-15 10:02:44

Linq to SQL

2010-04-26 09:10:09

Oracle數(shù)據(jù)庫

2010-04-22 16:16:35

Oracle數(shù)據(jù)庫

2011-05-19 13:25:14

Oracle數(shù)據(jù)庫

2010-04-15 08:57:29

Oracle數(shù)據(jù)庫

2010-04-14 10:56:07

Oracle數(shù)據(jù)庫

2010-04-16 16:09:41

Oracle數(shù)據(jù)庫

2011-04-13 14:07:17

OracleSybase數(shù)據(jù)庫

2011-03-29 10:47:49

ORACLE數(shù)據(jù)庫

2010-04-06 11:30:09

Oracle 數(shù)據(jù)庫

2010-04-09 13:59:48

Oracle數(shù)據(jù)庫索引

2010-04-19 11:30:34

Oracle數(shù)據(jù)庫

2011-07-05 16:08:10

2010-04-08 18:54:32

Oracle數(shù)據(jù)庫

2010-04-15 10:51:52

2011-03-07 17:51:00

Oracle數(shù)據(jù)庫優(yōu)缺點(diǎn)

2010-04-14 17:57:52

Oracle數(shù)據(jù)庫

2010-04-15 09:27:37

Oracle數(shù)據(jù)庫
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)