发新话题
移动帖子 加入精华 加入置顶 加入收藏 关注此帖

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



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

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>
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 = null;
  ResultSet rs = null;
  try {
    con = ds.getConnection();
    DatabaseMetaData dm = 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));
      }
    } else {
      out.println("Error: No active Connection");
    }
  } catch (Exception ex) {
    ex.printStackTrace();
  } finally {
    if (rs != null) {
      try {
        rs.close();
        rs = null;
      } catch (Exception ex) {}
    }
    if (con != null) {
      try {
        con.close();
        con = null;
      } catch (Exception ex) {}
    }
  }
%>
</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 
控制台输出

2008-02-03_120503.gif
2008-02-03_120816.gif
2008-02-03_121433.gif
快乐渡过每一天,减肥坚持每一天
编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

收藏了,好东东
编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

版主辛苦了。我刚刚开始学习J2EE,以后肯定会有很多问题,希望能得到版主的支持与帮助!!!
编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

。。收藏
.不.要.轻.信.你.听.到.的.每.件.事..不.要.花.光.你.的.所.有..不.要.想.睡.多.久.就.睡.多.久.]无.论.何.时.说.“对.不.起”请.看.着.对.方.的.眼.睛。] 永.远.不要.忽.视.别.人.的.梦.想.。]. .永.远.不.要.以.貌.取.人..。慢.慢.地.说,但.要.迅.速.地.想。..总.有.一.种.平.凡.,让.我.们.泪.流.满.面..
编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

web.xml不用配,我的jbuilder2006,默认,我的连接池仍然javax.naming.NameNotFoundException: Name jdbc is not bound in this Context
4.<Context path="" reloadable="true" docBase="ROOT" />
<Context path="/java2000" docBase="E:/workplace/www.java2000.net/WebContent" debug="true" reloadable="true">
不太理解,我的为<Context path="/WebModule1" docBase="G:\jsp\jsp1\WebModule1" debug="true" reloadable="true">,path,docBase不理解,建的项目在G:\jsp\jsp1中
编辑 回复 快速回复 TOP

Re:Tomcat 5.5 + SQL Server 2000 的数据源配置

收下了 我是初学者
编辑 回复 快速回复 TOP
发新话题