?? jdbc.html
字號:
<?xml version="1.0" encoding="GB2312"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh-CN" lang="zh-CN"><head> <meta http-equiv="Content-Type" content="text/html; charset=GB2312" /> <meta name="keywords" content="electronic commerce, ecommerce, ebusiness, e-business, e-commerce, enterprise software, net economy, Sun Microsystems, Sun Open Net Environment, Sun ONE, internet software" /> <meta name="Description" content="Sun Microsystems, Inc. is delivering Sun ONE e-commerce software and enterprise solutions that enable companies to compete successfully in the Net Economy." /> <meta name="TemplateVersion" content="Sun ONE WDT 2.3.1" /> <meta name="LASTUPDATED" content="10/03/03 09:48:13" /> <meta name="BookTitle" content="Sun Java System Application Server Enterprise Edition 8.1 Administration Guide 2005Q1" /> <title>第 6 章 JDBC 資源</title> <link href="catalog.css" tppabs="http://docs.sun.com/source/819-1553/catalog.css" rel="stylesheet" type="text/css" /> <!-- on load bring this window to front --> <script laguage="javascript"> top.window.focus(); </script></head><body text="#000000" link="#594FBF" vlink="#9966cc" alink="#333366" bgcolor="#FFFFFF"><a name="top"> </a><!-- navigation --> <table width="100%" border="0" cellspacing="4" summary="Header navigation table"> <tr><td> <p class="pNavigation"> <a HREF="javascript:if(confirm('http://www.sun.com/software/ \n\n該文件無法用 Teleport Ultra 下載, 因為 它是一個域或路徑外部被設置為它的啟始地址的地址。 \n\n你想在服務器上打開它?'))window.location='http://www.sun.com/software/'" tppabs="http://www.sun.com/software/"> <img SRC="Logo.jpg" tppabs="http://docs.sun.com/source/819-1553/Logo.jpg" alt="Sun logo" valign="bottom" border="0" /></a>      <a href="depapp.html" tppabs="http://docs.sun.com/source/819-1553/depapp.html">上一頁</a>      <a href="index.html" tppabs="http://docs.sun.com/source/819-1553/index.html">目錄</a>      <a href="sesspers.html" tppabs="http://docs.sun.com/source/819-1553/sesspers.html">下一頁</a>      </p> </td></tr> <tr><td valign="top" align="right" bgcolor="#594FBF"> <span class="cBookTitle">Sun Java System Application Server Enterprise Edition 8.1 管理指南 2005Q1</span> </td></tr> </table><!-- end navigation --><blockquote><!-- chapter content --><a name="wp92361"> </a><h2 class="pChapNumber"><span class="cGray">第 6 章</span><br /><a name="wp92365"> </a>JDBC 資源</h2><a name="wp92367"> </a><p class="pParagraph">本章說明如何配置訪問數據庫的應用程序所需的 JDBC 資源。本章包含以下幾節:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92373"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92401" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92401">關于 JDBC 資源</a></li></div><a name="wp92379"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92571" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92571">設置數據庫訪問</a></li></div><a name="wp92385"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92667" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92667">關于 JDBC 連接池</a></li></div><a name="wp92391"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92915" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92915">關于 JDBC 資源</a></li></div><a name="wp92397"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp93119" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp93119">關于 Persistence Manager 資源</a></li></div></ul></div><a name="wp92401"> </a><h2 class="pHeading1"><hr />關于 JDBC 資源</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92407"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92427" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92427">JDBC 資源</a></li></div><a name="wp92413"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92477" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92477">JDBC 連接池</a></li></div><a name="wp92419"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92521" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92521">JDBC 資源和連接池如何協同工作</a></li></div></ul></div><a name="wp92427"> </a><h3 class="pHeading2">JDBC 資源</h3><a name="wp92429"> </a><p class="pParagraph">為了存儲、組織和檢索數據,大多數應用程序都采用了關系數據庫。J2EE 應用程序通過 JDBC API 訪問關系數據庫。 </p><a name="wp92431"> </a><p class="pParagraph">JDBC 資源(數據源)為應用程序提供了連接數據庫的方法。通常,管理員要為部署在域中的應用程序訪問的每個數據庫創建 JDBC 資源。(但是,可以為一個數據庫創建多個 JDBC 資源。)</p><a name="wp92433"> </a><p class="pParagraph">要創建 JDBC 資源,請指定標識資源的唯一 JNDI 名稱。(請參見“JNDI 名稱和資源”部分。)JDBC 資源的 JNDI 名稱應在 <code class="cCode">java:comp/env/jdbc</code> 子上下文中。例如,工資單數據庫資源的 JNDI 名稱可以為 <code class="cCode">java:comp/env/jdbc/payrolldb</code>。由于所有資源 JNDI 名稱位于 <code class="cCode">java:comp/env</code> 子上下文中,所以在管理控制臺中指定 JDBC 資源的 JNDI 名稱時僅需輸入 <code class="cCode">jdbc/</code><em class="cEmphasis">name</em>。例如,對于工資單數據庫,可以指定 <code class="cCode">jdbc/payrolldb</code>。</p><a name="wp92477"> </a><h3 class="pHeading2">JDBC 連接池</h3><a name="wp92479"> </a><p class="pParagraph">要創建 JDBC 資源,請指定與其關聯的連接池。多個 JDBC 資源可以指定一個連接池。</p><a name="wp92481"> </a><p class="pParagraph">JDBC 連接池是用于特定數據庫的一組可重復使用的連接。由于每創建一個新的物理連接都會耗費時間,因此服務器維護了可用連接池以提高性能。應用程序請求連接時可以從池中獲取一個連接。應用程序關閉連接時,連接將返回到池中。</p><a name="wp92483"> </a><p class="pParagraph">連接池的屬性可能會隨數據庫供應商的不同而有所不同。有一些屬性是通用的,如數據庫名稱 (URL)、用戶名和密碼。</p><a name="wp92521"> </a><h3 class="pHeading2">JDBC 資源和連接池如何協同工作</h3><a name="wp92523"> </a><p class="pParagraph">為了存儲、組織和檢索數據,大多數應用程序都采用了關系數據庫。J2EE 應用程序通過 JDBC API 訪問關系數據庫。應用程序必須獲得一個連接之后才可以訪問數據庫。</p><a name="wp92525"> </a><p class="pParagraph">以下是運行時應用程序連接到數據庫時所發生的情況:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp92527"> </a><div class="pSmartList1"><li>應用程序通過 JNDI API 進行調用獲取與數據庫關聯的 JDBC 資源(數據源)。 </li></div><a name="wp92529"> </a><p class="pStepParaI1">給定資源的 JNDI 名稱、命名和目錄服務定位 JDBC 資源。每個 JDBC 資源指定一個連接池。</p><a name="wp92531"> </a><div class="pSmartList1"><li>通過 JDBC 資源,應用程序獲得一個數據庫連接。 </li></div><a name="wp92533"> </a><p class="pStepParaI1">應用程序服務器秘密地從與該數據庫相對應的連接池中檢索物理連接。池定義了數據庫名稱 (URL)、用戶名和密碼等連接屬性。</p><a name="wp92535"> </a><div class="pSmartList1"><li>由于已將應用程序連接到數據庫,所以該應用程序可以讀取和修改數據庫中的數據以及將數據添加到數據庫中。</li></div><a name="wp92537"> </a><p class="pStepParaI1">應用程序通過對 JDBC API 進行調用來訪問數據庫。JDBC 驅動程序將應用程序的 JDBC 調用轉換為數據庫服務器的協議。 </p><a name="wp92539"> </a><div class="pSmartList1"><li>訪問數據庫完成之后,應用程序將關閉該連接。</li></div><a name="wp92541"> </a><p class="pStepParaI1">應用程序服務器將連接返回連接池。連接返回連接池之后,下一個應用程序就可以使用該連接。</p></ol></div><a name="wp92571"> </a><h2 class="pHeading1"><hr />設置數據庫訪問</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92577"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92589" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92589">設置數據庫訪問的一般步驟</a></li></div><a name="wp92583"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92623" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92623">集成 JDBC 驅動程序</a></li></div></ul></div><a name="wp92589"> </a><h3 class="pHeading2">設置數據庫訪問的一般步驟</h3><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp92595"> </a><div class="pSmartList1"><li>安裝支持的數據庫產品。有關 Application Server 支持的數據庫產品的列表,請參見“更多信息”部分中指向發行說明的鏈接。</li></div><a name="wp92597"> </a><div class="pSmartList1"><li>安裝適用于該數據庫產品的 JDBC 驅動程序。</li></div><a name="wp92603"> </a><div class="pSmartList1"><li>使域的服務器實例可以訪問此驅動程序的 JAR 文件。請參見“<a href="jdbc.html#wp92623" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92623">集成 JDBC 驅動程序</a>”。</li></div><a name="wp92605"> </a><div class="pSmartList1"><li>創建數據庫。通常,應用程序供應商提供了用于創建和填充數據庫的腳本。</li></div><a name="wp92611"> </a><div class="pSmartList1"><li>為數據庫創建連接池。請參見“<a href="jdbc.html#wp92691" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92691">創建 JDBC 連接池</a>”。</li></div><a name="wp92617"> </a><div class="pSmartList1"><li>創建指向連接池的 JDBC 資源。請參見“<a href="jdbc.html#wp92939" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92939">創建 JDBC 資源</a>”。</li></div></ol></div><a name="wp92623"> </a><h3 class="pHeading2">集成 JDBC 驅動程序</h3><a name="wp92625"> </a><p class="pParagraph">JDBC 驅動程序將應用程序的 JDBC 調用轉換為數據庫服務器的協議。要將 JDBC 驅動程序集成到管理域中,請執行以下操作之一:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92627"> </a><div class="pSmartList1"><li>使通用類加載器可以訪問該驅動程序。 </li></div><div class="pSmartList2"><ul class="pSmartList2"><a name="wp92629"> </a><div class="pSmartList2"><li>將驅動程序的 JAR 文件和 ZIP 文件復制到 <em class="cEmphasis">install_dir</em><code class="cCode">/domains/</code><em class="cEmphasis">domain_dir</em><code class="cCode">/lib</code> 目錄或將驅動程序的類文件復制到 <em class="cEmphasis">install_dir</em><code class="cCode">/domains/</code><em class="cEmphasis">domain_dir</em><code class="cCode">/lib/ext</code> 目錄中。</li></div><a name="wp92631"> </a><div class="pSmartList2"><li>重新啟動該域。 </li></div></ul></div><br><a name="wp92633"> </a><div class="pSmartList1"><li>使系統類加載器可以訪問驅動程序。 </li></div><div class="pSmartList2"><ul class="pSmartList2"><a name="wp92635"> </a><div class="pSmartList2"><li>在管理控制臺的樹視圖中,選擇“配置”。 </li></div><a name="wp92639"> </a><div class="pSmartList2"><li>選擇所需的配置(例如 default-config)。</li></div><a name="wp92641"> </a><div class="pSmartList2"><li>選擇“JVM 設置”。</li></div><a name="wp92643"> </a><div class="pSmartList2"><li>在“JVM 設置”頁面中,單擊“路徑設置”選項卡。 </li></div><a name="wp92645"> </a><div class="pSmartList2"><li>在“類路徑后綴”字段中,輸入驅動程序 JAR 文件的全限定路徑名。 </li></div><a name="wp92647"> </a><div class="pSmartList2"><li>單擊“保存”。 </li></div><a name="wp92649"> </a><div class="pSmartList2"><li>重新啟動服務器。</li></div></ul></div></ul></div><a name="wp92667"> </a><h2 class="pHeading1"><hr />關于 JDBC 連接池</h2><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92673"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92691" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92691">創建 JDBC 連接池</a></li></div><a name="wp92679"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92787" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92787">編輯 JDBC 連接池</a></li></div><a name="wp92685"> </a><div class="pSmartList1"><li><a href="jdbc.html#wp92883" tppabs="http://docs.sun.com/source/819-1553/jdbc.html#wp92883">刪除 JDBC 連接池</a></li></div></ul></div><a name="wp92691"> </a><h3 class="pHeading2">創建 JDBC 連接池</h3><a name="wp92693"> </a><p class="pParagraph">JDBC 連接池是用于特定數據庫的一組可重復使用的連接。使用管理控制臺創建池時,管理員實際上在定義到特定數據庫的連接的各個方面。 </p><a name="wp92695"> </a><p class="pParagraph">創建池之前,您必須首先安裝并集成 JDBC 驅動程序。 </p><a name="wp92697"> </a><p class="pParagraph">設置“創建連接池”頁面時,必須輸入特定于 JDBC 驅動程序和數據庫供應商的特定數據。繼續創建之前,請先收集以下信息:</p><div class="pSmartList1"><ul class="pSmartList1"><a name="wp92699"> </a><div class="pSmartList1"><li>數據庫供應商名稱</li></div><a name="wp92701"> </a><div class="pSmartList1"><li>資源類型,如 <code class="cCode">javax.sql.DataSource</code>(僅限于本地事務)和 <code class="cCode">javax.sql.XADataSource</code>(全局事務)</li></div><a name="wp92703"> </a><div class="pSmartList1"><li>數據源類名</li></div><a name="wp92705"> </a><div class="pSmartList1"><li>必需的屬性,如數據庫名稱 (URL)、用戶名和密碼</li></div></ul></div><a name="wp92707"> </a><p class="pParagraph">要創建 JDBC 連接池,請執行以下步驟:</p><div class="pSmartList1"><ol type="1" class="pSmartList1"><a name="wp92709"> </a><div class="pSmartList1"><li>在樹組件中,展開“資源”節點。</li></div><a name="wp92711"> </a><div class="pSmartList1"><li>在“資源”節點下,展開“JDBC”節點。</li></div><a name="wp92713"> </a><div class="pSmartList1"><li>在“JDBC”節點下,選擇“連接池”節點。</li></div><a name="wp92715"> </a><div class="pSmartList1"><li>在“連接池”頁面中,單擊“新建”。</li></div><a name="wp92717"> </a><div class="pSmartList1"><li>在“創建連接池”的第一個頁面中,指定以下常規設置:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp92719"> </a><div class="pSmartList2"><li>在“名稱”字段中,輸入池的邏輯名稱。</li></div><a name="wp92721"> </a><p class="pStepParaI2">創建 JDBC 資源時將指定此名稱。</p><a name="wp92723"> </a><div class="pSmartList2"><li>從“資源類型”組合框中選擇一個條目。</li></div><a name="wp92725"> </a><div class="pSmartList2"><li>從“數據庫供應商”組合框中選擇一個條目。</li></div></ol></div><a name="wp92727"> </a><div class="pSmartList1"><li>單擊“下一步”。</li></div><a name="wp92729"> </a><div class="pSmartList1"><li>在“創建連接池”的第二個頁面中,為“DataSource 類名”字段指定值。</li></div><a name="wp92731"> </a><p class="pStepParaI1">如果 JDBC 驅動程序具有與在上一頁中指定的資源類型和數據庫供應商相應的 DataSource 類,則系統會提供“DataSource 類名”字段的值。 </p><a name="wp92733"> </a><div class="pSmartList1"><li>單擊“下一步”。</li></div><a name="wp92735"> </a><div class="pSmartList1"><li>在“創建連接池”的第三個也即最后一個頁面中,執行以下任務:</li></div><div class="pSmartList2"><ol type="a" class="pSmartList2"><a name="wp92737"> </a><div class="pSmartList2"><li>在“常規設置”部分中,檢驗各個值是否正確。</li></div><a name="wp92739"> </a><div class="pSmartList2"><li>對于“池設置”、“連接驗證”和“事務隔離”部分中的字段,保留默認值。</li></div><a name="wp92741"> </a><p class="pStepParaI2">以后更改這些設置非常方便。請參見“編輯 JDBC 連接池”。</p><a name="wp92743"> </a><div class="pSmartList2"><li>在“其他屬性”表中,添加必需的屬性,如數據庫名稱 (URL)、用戶名和密碼。</li></div></ol></div><a name="wp92745"> </a><div class="pSmartList1"><li>單擊“完成”。</li></div></ol></div><a name="wp92749"> </a><p class="pParagraph">等效的 <code class="cCode">asadmin</code> 命令為:<code class="cCode"><a href="javascript:if(confirm('http://docs.sun.com/source/817-6092/hman1/create-jdbc-connection-pool.1.html \n\n該文件無法用 Teleport Ultra 下載, 因為 它是一個域或路徑外部被設置為它的啟始地址的地址。 \n\n你想在服務器上打開它?'))window.location='http://docs.sun.com/source/817-6092/hman1/create-jdbc-connection-pool.1.html'" tppabs="http://docs.sun.com/source/817-6092/hman1/create-jdbc-connection-pool.1.html">create-jdbc-connection-pool</code></p><a name="wp92787"> </a><h3 class="pHeading2">編輯 JDBC 連接池</h3><a name="wp92789"> </a><p class="pParagraph">
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -