JavaLife
          天之道,利而不害;圣人之道,為而不爭(zhēng);信言不美,美言不信;善者不辯,辯者不善;知者不博,博者不知!
          posts - 8,comments - 15,trackbacks - 0

          Tomcat 5.5.15 和SQLServer2000 SP3基于SQLServer2000JDBC SP3 的連接池配制
          一、準(zhǔn)備
          需要下載:
          1. tomcat5.5.15
          2. Tomcat5.5.15admin
          3. SQLServer2000JDBC SP3或者jtds

          安裝tomcat。并添加admin角色和用戶。
          將jdbc驅(qū)動(dòng)包放到tomcat_home\common\lib目錄下。
          在MyEclipse建立一個(gè)新的Web項(xiàng)目。使用剛才配置的tomcat作為服務(wù)器。

          啟動(dòng)tomcat。

          二、配置
          打開(kāi)tomcat。
           
          登錄 Tomcat Web Server Administration Tool.


          點(diǎn)擊左側(cè)的Data Sources。
           
          在右側(cè)Available Actions下拉菜單中選擇Create New Data Source.
           
          輸入
          JNDI Name:
          Data Source URL:
          JDBC Driver Class:
          User Name:
          Password:
          Max.Active Connections:最大活動(dòng)連結(jié)數(shù) ,0為不限 。
          Max.Idle Connections:最大等待連結(jié)數(shù) ,0為不限 。
          Max.Wait for Connection:建立連接超時(shí)時(shí)間ms,-1為無(wú)限 。

          注:使用SQLServer的官方JDBC驅(qū)動(dòng),Class=com.microsoft.jdbc.sqlserver.SQLServerDriver,URL=jdbc:Microsoft:sqlserver://127.0.0.1:1433;databaseName=aa;使用開(kāi)源的驅(qū)動(dòng)Jtds,Class=net.sourceforge.jtds.jdbc.sqlserver,URL=jdbc:jtds:sqlserver://127.0.0.1:1433/aa

          輸入完畢,點(diǎn)擊“Save”按鈕保存。
           
          點(diǎn)擊頁(yè)面右上側(cè)“Commit Changes”按鈕,保存剛才的設(shè)置。(這一步很重要哦?。?/P>

          打開(kāi)tomcat_home\conf\server.xml的< GlobalNamingResources></ GlobalNamingResources>中找到

              <Resource
                name="jdbc/mydbcp"
                type="javax.sql.DataSource"
                password="aa"
                driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                maxIdle="2"
                maxWait="5000"
                username="aa"
                url="jdbc:microsoft:sqlserver://10.0.2.37:1433;databaseName=aa"
                maxActive="4"/>
          這是JNDI的主要配置文件,可以不使用圖形界面直接寫入server.xml中。
          在tomcat_home\webapps\dbcp\ META-INF\context.xml的<context></context>中填入上面的代碼。
          如果更改了JNDI,則必須手動(dòng)更改context.xml。

              <Resource
                name="mydbcp" 注:此處不同
                type="javax.sql.DataSource"
                password="aa"
                driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"
                maxIdle="2"
                maxWait="5000"
                username="aa"
                url="jdbc:microsoft:sqlserver://10.0.2.37:1433;databaseName=aa"
                maxActive="4"/>

            <ResourceLink
              global="jdbc/mydbcp"
              name="jdbc/mydbcp"
          type="javax.sql.DataSource"/>

          重起tomcat。

          連接方法:

              Context initCtx = new InitialContext();
              Context envCtx = (Context) initCtx.lookup("java:comp/env");
              DataSource ds = (DataSource) envCtx.lookup("jdbc/mydbcp");
              Connection conn = ds.getConnection();
              Statement stmt = conn.createStatement();
              ResultSet rs = stmt.executeQuery("select * from systypes");
          三、測(cè)試

          測(cè)試實(shí)例:test.jsp

          <%@ page language="java" pageEncoding="UTF-8"%>
          <%@ page contentType="text/html; charset=UTF-8"%>
          <%@ page import="java.sql.*,javax.sql.DataSource,javax.naming.*"%>
          <html>
           <head>
            <title>
             tomcat 連接池
            </title>
           </head>
           <body bgcolor="#ffffff">
            <h3>
             test
             <br>
             連接池3
            </h3>
            <%try {
              Context initCtx = new InitialContext();
              Context envCtx = (Context) initCtx.lookup("java:comp/env");
              DataSource ds = (DataSource) envCtx.lookup("jdbc/mydbcp");
              Connection conn = ds.getConnection();
              Statement stmt = conn.createStatement();
              ResultSet rs = stmt.executeQuery("select * from systypes");
              while (rs.next()) {%>

            <br>
            <%=rs.getString(1)%>
            <%}%>
            <%out.print("<br>Successful!成功?。n");%>
            <%rs.close();
              stmt.close();
              conn.close();
             } catch (Exception e) {
              out.print("出現(xiàn)例外!" + e.getMessage());
              e.printStackTrace();
             }

            %>

           </body>
          </html>

          四、錯(cuò)誤

          錯(cuò)誤1:Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver'
          是沒(méi)有將sql jdbc driver包放在common\lib\目錄下。

          錯(cuò)誤2:Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.)
          SQL數(shù)據(jù)庫(kù)補(bǔ)丁包的問(wèn)題,如果訪問(wèn)的數(shù)據(jù)庫(kù)是SP3,任何問(wèn)題沒(méi)有。不是SP3就會(huì)出現(xiàn)上面的錯(cuò)誤。

          錯(cuò)誤3:Name mydbcp is not bound in this Context
          在context.xml中加入
          <ResourceLink
              global="jdbc/mydbcp"
              name="jdbc/mydbcp"
          type="javax.sql.DataSource"/>

          posted on 2006-02-27 20:44 JavaLife 閱讀(870) 評(píng)論(0)  編輯  收藏 所屬分類: Tomcat
          主站蜘蛛池模板: 葵青区| 宿迁市| 罗定市| 巴青县| 保德县| 海丰县| 德令哈市| 二连浩特市| 铜川市| 南川市| 武隆县| 洪湖市| 鸡东县| 肥西县| 平安县| 灵武市| 叙永县| 桐城市| 武强县| 梧州市| 铁力市| 忻城县| 建湖县| 北海市| 木里| 长岭县| 蒲江县| 台东市| 郎溪县| 延安市| 长治市| 浦东新区| 巴青县| 洛扎县| 区。| 绥江县| 封开县| 资溪县| 凤台县| 邵武市| 张家川|