tomcat6的MSSQL Server2000数据库连接池设置

来源:互联网 发布:chart js 提示最大值 编辑:程序博客网 时间:2024/05/29 02:20
1. 下载安装jdk,本人用的是jdk-6u10-beta-windows-i586-p.exe
 
2. 安装jdbc,本人用的是sqljdbc_1.2.2828.100_chs.exe
 
3. 找到jdbc的安装目录,把lib目录下面的msbase.jar和mssqlserver.jar、msutil.jar三个文件一起copy到$CATALINA_HOME/common/lib/($CATALINA_HOME代表的是你的tomcat6的安装目录)
4. 打开tomcat6目录下conf文件夹,打开context.xml配置文件,增加配置,本人配置如下:<?xml version='1.0' encoding='utf-8'?><Context reloadable="true" >    <WatchedResource>WEB-INF/web.xml</WatchedResource>    <Resource name="jdbc/mssql2000" auth="Container" type="javax.sql.DataSource" maxActive="100" maxIdle="30" maxWait="10000" username="sa" password="8606" driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver" url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Northwind;" />       </Context>
注意:这里<Resource />中的内容是一行,不可分行,如想分行,可把参数设置成如下格式:   <parameter>    
<name>maxActive</name>    
<value>100</value>  
</parameter>
注意参数的大小写
其书写格式和参数可参看apcache中的说明文档
 
5. 不必象网上帖子所说的,还需设这发布项目/WebRoot/WEB-INF下的web.xml文件,可以不设置,本人没设置
 
6. 编写测试页,测试页代码如下:
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <%@ page import="java.sql.*"%> <%@ page import="javax.sql.*"%> <%@ page import="javax.naming.*"%> <%@ page import="java.io.*"%> <%@ page session="false"%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html>     <head>        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">        <title>test for DB connection</title>        <%            out.print("beginning testing...");            out.print("<br>");            DataSource ds = null;            try {               InitialContext ctx = new InitialContext();               ds = (DataSource) ctx.lookup("java:comp/env/jdbc/mssql2000");               Connection conn = ds.getConnection();               Statement stmt = conn.createStatement();               // test是数据库已有的表,               //这里的数据库是前文提及的Data Source URL配置里包含的数据库。               String strSql = " select * from Customers";               ResultSet rs = stmt.executeQuery(strSql);               while (rs.next()) {                   out.print(rs.getString(1));               }               out.print("<br>");               out.print("end testing.");            } catch (Exception ex) {               out.print("error:" + ex.getMessage());               ex.printStackTrace();            }        %>     </head>     <body>     </body> </html>