Tomcat 5.5.15 和SQLServer2000 SP3基于SQLServer2000JDBC SP3 的连接池配制
一、准备
需要下载:
1. tomcat5.5.15
2. Tomcat5.5.15admin
3. SQLServer2000JDBC SP3或者jtds
安装tomcat。并添加admin角色和用户。
将jdbc驱动包放到tomcat_home\common\lib目录下。
在MyEclipse建立一个新的Web项目。使用刚才配置的tomcat作为服务器。
启动tomcat。
二、配置
打开tomcat。
登录 Tomcat Web Server Administration Tool.
点击左侧的Data Sources。
在右侧Available Actions下拉菜单中选择Create New Data Source.
输入
JNDI Name:
Data Source URL:
JDBC Driver Class:
User Name:
Password:
Max.Active Connections:最大活动连结数 ,0为不限 。
Max.Idle Connections:最大等待连结数 ,0为不限 。
Max.Wait for Connection:建立连接超时时间ms,-1为无限 。
注:使用SQLServer的官方JDBC驱动,Class=com.microsoft.jdbc.sqlserver.SQLServerDriver,URL=jdbc:Microsoft:sqlserver://127.0.0.1:1433;databaseName=aa;使用开源的驱动Jtds,Class=net.sourceforge.jtds.jdbc.sqlserver,URL=jdbc:jtds:sqlserver://127.0.0.1:1433/aa
输入完毕,点击“Save”按钮保存。
点击页面右上侧“Commit Changes”按钮,保存刚才的设置。(这一步很重要哦!)
打开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,则必须手动更改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");
三、测试
测试实例: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("出现例外!" + e.getMessage());
e.printStackTrace();
}
%>
</body>
</html>
四、错误
错误1:Cannot load JDBC driver class 'com.microsoft.jdbc.sqlserver.SQLServerDriver'
是没有将sql jdbc driver包放在common\lib\目录下。
错误2:Cannot create PoolableConnectionFactory ([Microsoft][SQLServer 2000 Driver for JDBC]Error establishing socket.)
SQL数据库补丁包的问题,如果访问的数据库是SP3,任何问题没有。不是SP3就会出现上面的错误。
错误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 阅读(866)
评论(0) 编辑 收藏 所属分类:
Tomcat