### Tomcat 5.5 + SQL Server 2000 的数据源配置向导

老紫竹 2008-02-03 02:16:36
原始地址:http://www.java2000.net/viewthread.jsp?tid=484
1 确认SQLServer 的JDBC驱动为最新的。为一个sqljdbc.jar 文件,老版驱动为3个jar,请到[下载资源]里面下载
2 复制sqljdbc.jar 到 tomcat/common/lib 目录下面

3 在 tomcat/conf/Catalina/localhost 下面增加 java2000.xml , 请根据自己的实际情况修改

复制内容到剪贴板代码:
<Context path="/java2000" docBase="E:/workplace/www.java2000.net/WebContent" debug="true" reloadable="true"> 
<Resource
name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433"
username="java2000"
password="java2000"
maxActive="20"
maxIdle="10"
maxWait="-1"
/>
</Context>

4 也可以直接在 tomcat/conf/server,xml 增加同样的内容。
复制内容到剪贴板代码:

<Context   path=""   reloadable="true"   docBase="ROOT"   />  
<Context path="/java2000" docBase="E:/workplace/www.java2000.net/WebContent" debug="true" reloadable="true">
<Resource
name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433"
username="java2000"
password="java2000"
maxActive="20"
maxIdle="10"
maxWait="-1"
/>
</Context>

5 如果你使用主站点,则把内容放到 path="" 的 Context 里面
<Context   path=""   reloadable="true"   docBase="ROOT" > 
<Resource
name="jdbc/sqlserver"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433"
username="java2000"
password="java2000"
maxActive="20"
maxIdle="10"
maxWait="-1"
/>
</Context>




6 修改 web.xml 引用我们配置的数据源
复制内容到剪贴板代码:
  ... ...  
<resource-ref>
<description>DB connection</description>
<res-ref-name>jdbc/sqlserver</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
</web-app>

7 编写测试代码
复制内容到剪贴板代码:
<%@page contentType="text/html" pageEncoding="UTF-8"%> 
<%@page import="javax.naming.*,javax.sql.*,java.sql.*"%>
<pre>
<%
System.out.println("CLASSPATH....");
System.out.println(System.getProperty("java.class.path"));
Context initCtx = new InitialContext();
Context envCtx = (Context) initCtx.lookup("java:comp/env");
DataSource ds = (DataSource) envCtx.lookup("jdbc/sqlserver");

Connection con = ds.getConnection();
DatabaseMetaData dm = null;
ResultSet rs = null;
if (con != null) {
dm = con.getMetaData();
out.println("Driver Information");
out.println("\tDriver Name: " + dm.getDriverName());
out.println("\tDriver Version: " + dm.getDriverVersion());
out.println("\nDatabase Information ");
out.println("\tDatabase Name: " + dm.getDatabaseProductName());
out.println("\tDatabase Version: " + dm.getDatabaseProductVersion());
out.println("Avalilable Catalogs ");
rs = dm.getCatalogs();
while (rs.next()) {
System.out.println("\tcatalog: " + rs.getString(1));
}
rs.close();
rs = null;
con.close();
} else {
out.println("Error: No active Connection");
}
%>
</pre>
8 启动Tomcat, 并运行我们的代码
复制内容到剪贴板代码:

Driver Information 
Driver Name: Microsoft SQL Server 2005 JDBC Driver
Driver Version: 1.1.1501.101

Database Information
Database Name: Microsoft SQL Server
Database Version: 8.00.2039
Avalilable Catalogs
控制台输出
...全文
330 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

62,616

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧