J2EE環境的搭建之三—數據源的發佈與詳解

創建Oracle 數據庫的連接池
 
創建連接用戶及表格
先連接到數據庫
[oracle@lii ~]$ sqlplus / as sysdba
 
(1)創建用戶test,密碼爲123456,語句如下:
CREATE USER "TEST" PROFILE "DEFAULT" IDENTIFIED BY "123456" DEFAULT TABLESPACE "USERS" QUOTA UNLIMITED ON "USERS" ACCOUNT UNLOCK;
GRANT "CONNECT" TO "TEST";
(2)創建員工信息表格employees:
CREATE TABLE "TEST"."EMPLOYEES" ("EMPNO" NUMBER(5) NOT NULL, "ENAME" VARCHAR2(15) NOT NULL, "EPHONE" VARCHAR2(20) NOT NULL, CONSTRAINT "PK" PRIMARY KEY("EMPNO" )) TABLESPACE "USERS";
(3)插入兩條員工數據:
INSERT INTO TEST.EMPLOYEES VALUES(1,'john','123456789');
INSERT INTO TEST.EMPLOYEES VALUES(2,'jim','987654321');
(4)用test 用戶連接到Oracle 數據庫,並且查詢employees 表格內的數據,
如果能夠征程訪問,說明數據庫已經準備好。
conn TEST/123456@test
SQL> conn TEST/123456@test
Connected.
SQL> select * from employees;
     EMPNO ENAME
---------- ------------------------------
EPHONE
----------------------------------------
         1 john
123456789
         2 jim
987654321
創建 JDBC 數據源
開始前,確保已在所有服務器上安裝了要用於創建數據庫連接的 JDBC 驅動程序。某些 JDBC 驅動程序是隨 WebLogic Server 安裝的,包括 BEA WebLogic Type4 JDBC drivers for DB2、Informix、MS SQL Server、Oracle 和 Sybase。有關使用JDBC 驅動程序的詳細信息,請參閱bea 的官方文檔。在 WebLogic Server 中,通過將 JDBC 數據源添加到您的 WebLogic 域中來配置數據庫連接性。數據源是配置與數據庫的連接性的 J2EE 標準方法。每個WebLogic 數據源都含有一組數據庫連接。應用程序在 JNDI 樹上或本地應用程序上下文中查找數據源,然後使用 getConnection 方法保留數據庫連接。數據源及其連接緩衝池可以提供有助於保持系統運行和性能的連接管理進程。
要創建 JDBC 數據源,請執行下列操作:
 
1)在瀏覽器中輸入[url]http://localhost:7001/console/[/url]來登錄weblogic的管理頁面,
2)如果尚未執行此操作,請在管理控制檯的更改中心中單擊“鎖定並編輯”。
如下圖:
3)在“域結構”樹中,展開“服務”>“JDBC”,然後選擇“數據源”。如下圖 所示:
4)在“數據源概要”頁上,單擊“新建”。如下圖所示:
5)在“JDBC 數據源屬性”頁上,輸入或選擇下列信息:
名稱 - 輸入此 JDBC 數據源的名稱。此名稱在配置文件 (config.xml) 和管理控制檯中用於指代此數據源。JNDI 名稱 - 輸入要將此 JDBC 數據源綁定到的 JNDI 路徑。保留連接時,
應用程序按此名稱在 JNDI 樹中查找數據源。
數據庫類型 - 選擇要連接到的數據庫的 DBMS。如果沒有列出您的 DBMS,
請選擇“其他”。
數據庫驅動程序 - 選擇要用於連接到數據庫的 JDBC 驅動程序。列表中包括
選定 DBMS 的常用 JDBC 驅動程序。
注意: 使用 JDBC 驅動程序創建數據庫連接之前,必須先安裝 JDBC 驅動程序。一些 JDBC 驅動程序隨 WebLogic Server 一起安裝,但是許多 JDBC 驅動程序沒有隨之安裝。
如下圖 所示,輸入相關的內容,然後單擊“下一步”繼續。
6)記錄上一個資源 - 選擇此選項啓用非 XA JDBC 連接,可以通過使用“記錄上
一個資源 (LLR)”事務優化來參與全局事務。
此選項僅在選擇非 XA JDBC 驅動程序進行數據庫連接時可用。
仿真兩階段提交 - 啓用非 XA JDBC 連接可以通過使用 JTA 來仿真分佈式
事務中的參與。只有在應用程序可允許出現試探性情況時才能選擇此選項。
此選項僅在選擇非 XA JDBC 驅動程序進行數據庫連接時可用。
一階段提交 - 選擇此選項啓用非 XA 連接,從而作爲唯一的事務參與者可以
參與全局事務。
此選項僅在選擇非 XA JDBC 驅動程序進行數據庫連接時可用。
有關事務選項的詳細信息,請參閱事務選項(英文)。
點擊“下一步”繼續
7)在“連接屬性”頁上,輸入下列屬性的值:
數據庫名稱 - 輸入要連接到的數據庫的名稱。確切的數據庫名稱要求因 JDBC驅動程序和 DBMS 的不同而異。
主機名 - 輸入承載數據庫的服務器的 DNS 名稱或 IP 地址。
端口 - 輸入數據庫服務器監聽連接請求時使用的端口。
數據庫用戶名 - 輸入對於此數據源中的每一連接要使用的數據庫用戶帳戶名。
密碼/確認密碼 - 輸入數據庫用戶帳戶的密碼。
如下圖 所示,輸入相應的內容,然後單擊“下一步”繼續。
8)在“測試數據庫連接”頁上,檢查連接參數並單擊“測試配置”。
WebLogic 嘗試創建從管理服務器到數據庫的連接。連接測試的結果顯示在頁
面的頂部,如下圖 所示。如果測試成功,則您應該更正任何配置錯誤並重試測試。
如果管理服務器上未安裝您所選的 JDBC 驅動程序,則您應單擊“下一步”跳
過此步驟。
9)在“選擇目標”頁上,選擇要部署此數據源的服務器或羣集。這裏選擇“AdminServer”如下圖 所示:
10)單擊“完成”保存 JDBC 數據源配置並將數據源部署到您所選的目標中。
11)要激活這些更改,請在管理控制檯的更改中心中單擊“激活更改”。
如下圖所示:
激活後就不用重起就生效,並非所有更改都立即生效。某些更改必須重新啓動後才能生效。
測試DataSource
 
1)可以在前面部署的myweb 應用程序中,即myweb 目錄下添加一個應用測試頁
面index.jsp,測試頁面的內容如下:
[root@lii ~]# vi /opt/bea/user_projects/domains/test/autodeploy/myweb/index.jsp
<!doctype html public "-//w3c//dtd html 4.0 transitional//en"
<%@page import="java.sql.*"%>
<%@page import="javax.sql.*"%>
<%@page import="javax.naming.*"%>
<%@page session="false"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html">
<title>JNDI Test</title>
</head>
<body>
<%
  Context ctx = null;
  Hashtable ht = new Hashtable();
  ht.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
  ht.put(Context.PROVIDER_URL, "t3://127.0.0.1:7001");  注意這個ip地址要和上面所填主機名的ip地址一樣,否則很難出現結果。
  Connection conn = null;
  Statement stmt = null;
  ResultSet rs = null;
  try {
    ctx = new InitialContext(ht);
    javax.sql.DataSource ds = (javax.sql.DataSource) ctx.lookup("jdbc/oracleDS");
    conn = ds.getConnection();
  // You can now use the conn object to create
  //  Statements and retrieve result sets:
    stmt = conn.createStatement();
    stmt.execute("select * from employees");
    rs = stmt.getResultSet();
  //Close JDBC objects as soon as possible
%>
<TABLE BORDER=1 ;75%">
  <TR>
    <TH>ename</TH>
    <TH>ephone</TH>
  </TR>
<%while (rs.next()) {%>
  <TR>
    <TD><%= rs.getString("ename") %>    </TD>
    <TD><%= rs.getString("ephone") %>    </TD>
  </TR>
<%
  }
  stmt.close();
  stmt = null;
  conn.close();
  conn = null;
%>
</Table>
<%
  } catch (Exception e) {
    // a failure occurred
    out.print("Error! Messages: "+e.getMessage());
    e.printStackTrace();
  }
  finally {
    try {
      ctx.close();
    }
    catch (Exception e) {
    }
    try {
      if (rs != null) rs.close();
    }
    catch (Exception e) {
    }
    try {
      if (stmt != null) stmt.close();
    }
    catch (Exception e) {
    }
    try {
      if (conn != null) conn.close();
     }
    catch (Exception e) {
      }
  }
%>
</body>
</html>
2)編寫好測試的頁面內容後,重新啓動服務器,然後再到瀏覽器中輸入:
出現下面的內容(即在koorka.employees 表格中輸入的內容),說明數據源配置成功。
出現下面的內容(即在koorka.employees 表格中輸入的內容),說明數據源配置成功。
本文出自 “badboy” 博客,請務必保留此出處[url]http://colderboy.blog.51cto.com/485582/104692[/url]
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章