1. 首先确保Tomcat安装文件夹中的\common\lib(对于Tomcat5.5)或者是\lib(Tomcat6.0)文件夹中已包括JDBC连接数据库所必须的三个.jar文件(msbase.jar , mssqlserver.jar 和msutil.jar,JDBC驱动器中包括这三个文件,仅仅需将JDBC驱动器安装后的lib文件夹下的这三个文件拷贝到Tomcat安装文件夹的lib文件夹下就可以)。

2. 改动Tomcat安装文件夹的conf子文件夹中的server.xml和context.xml文件。

对于server.xml文件,在<GlobalNamingResources>元素中加入例如以下的内容:

<Resource name="数据库名"

       auth="Container"

       type="javax.sql.DataSource"

       username="sa"

       password="123"

       driverClassName="com.microsoft.jdbc.sqlserver.SQLServerDriver"

       maxIdle="10"

       maxWait="10000"

       maxActive="100"

       url="jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=test1"

    />

注:test1是一个建好的数据库.

各字段含义例如以下:

name:定义数据库连接的名称                driverClassName:指定JDBC驱动器的类

username:登陆数据库时使用的用户名      password:登陆数据库的密码

maxIdle:数据库连接的最大空暇时间          maxWait:表示最大建立连接等待时间

maxActive:连接池的最大数据库连接数      url:表示的是须要连接的数据库的地址和名称

对于context.xml文件,在<Context>元素中加例如以下内容:

<ResourceLink global="数据库名字" name="jdbc/TestDB" type="javax.sql.DataSource" />

两个数据库名称应该一一致

3.见一个.jsp文档来測试

内容例如以下,

我这里在C:\apache-tomcat-6.0.39\webapps\zhanglixuan这个应用下建立的

所以须要改动一下这个应用下的C:\apache-tomcat-6.0.39\webapps\zhanglixuan\WEB-INF\web.xml文档

在<web-app>标签之间加入

<resource-ref> 

<description>sqlserverDB Connection</description> 

<res-ref-name>jdbcTestDB</res-ref-name> 

<res-type>javax.sql.DataSource</res-type> 

<res-auth>Container</res-auth>

<res-sharing-scope>Shareable</res-sharing-scope> 

</resource-ref>

然后将以下的jsp代码替换原来的index.jsp,并訪问这个jsp就可以

完毕配置后,可用例如以下文件来測试连接池配置是否正确.

<%@ page language="java" contentType="text/html; charset=gb2312"

    pageEncoding="gb2312"%>

<%@ page import="java.sql.*,javax.naming.*" %>

<%

try{

   Context initCtx=new InitialContext();

   Context ctx=(Context)initCtx.lookup("java:comp/env");

   //获取连接池对象

   Object obj=(Object)ctx.lookup("jdbc/TestDB");

   //类型转换

   javax.sql.DataSource ds=(javax.sql.DataSource)obj;

   //从连接池中获取数据库连接对象

   Connection conn=ds.getConnection();

   Statement stmt=conn.createStatement();

   //获取server端时间,该SQL语句适用于SQLServer

   String strSQL="select getDate()";

   ResultSet rs=stmt.executeQuery(strSQL);

   rs.next();

   Date date=rs.getDate(1);

   out.println(date.toString());

   rs.close();

   stmt.close();

   conn.close();

}

catch(Exception e){

   out.println(e);

}

%>

该实例測试程序通过数据库连接池的方式获取了MS SQLServer所在server的当前时间,执行结果例如以下,表明连接池配置成功.

tomcat配置sqlserver数据库的更多相关文章

  1. spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置

    spring BasicDataSource 数据源配置 sqlserver数据库 oracle数据库 mysql数据jdbc配置 jdbc.properties 文件信息如下: ---------- ...

  2. hibernate配置 sqlserver 数据库自动增长

    <id  name="Id" type="integer"> <column name="userid" > < ...

  3. [转]SqlServer数据库同步方案详解

    SqlServer数据库同步是项目中常用到的环节,若一个项目中的数据同时存在于不同的数据库服务器中,而这些数据库需要被多个不同的网域调用时,配置 SqlServer数据库同步是个比较好的解决方案.Sq ...

  4. 如何利用tomcat和cas实现单点登录(2):配置cas数据库验证和cas客户端配置

    接(1),上一篇主要讲述了tomcat和cas server端的部署. 接下来主要还有两个步骤. 注意:为了开启两个tomcat,要把直接配置的tomcat的环境变量取消!!!!!!!!!! 客户端配 ...

  5. ubuntu系统下配置php支持SQLServer数据库

    最近在做一个项目,该项目的数据库是微软公司的的SQLserver ,数据库安装在另一台windows服务器上,而项目却部署在ubuntu server上.那么这样就会涉及到项目在linux上如何链接S ...

  6. SQLServer数据库镜像配置

    目录 一.目标...2 二.前提条件.限制和建议...2 三.设置概述...2 四.安装Sql Server 2008 enterprise X64.3 4.1.安装.NET3.5.3 4.2.安装时 ...

  7. VS2019项目docker启动且访问SQLSERVER数据库配置

    VS2019编译.调试的Blazor纯前台项目,使用控制台启动,去连接纯后台的API项目,使用docker启动,并且通过EFCore访问SQLSERVER数据库,有几个地方需要修改配置: 一.前台连后 ...

  8. PowerDesigner从SqlServer数据库中导入实体模型

    PowerDesigner从SqlServer数据库中导入实体模型 时间 2013-06-28 10:26:34 CSDN博客 原文  http://blog.csdn.net/sxycxwb/art ...

  9. (转)对SQLSERVER数据库事务日志的疑问

    本文转载自桦仔的博客http://www.cnblogs.com/lyhabc/archive/2013/06/10/3130856.html 对SQLSERVER数据库事务日志的疑问 摸不透SQLS ...

随机推荐

  1. Context Switch and System Call

    How many Context Switches is “normal”? This depends very much on the type of application you run. If ...

  2. http协议之cookie标准RFC6265介绍

      [Docs] [txt|pdf] [draft-ietf-httpst...] [Diff1] [Diff2] [Errata] PROPOSED STANDARD Errata Exist In ...

  3. 线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的使用方法

    线程锁的概念函数EnterCriticalSection和LeaveCriticalSection的使用方法 注:使用结构CRITICAL_SECTION 需增加头文件#include “afxmt. ...

  4. 使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响?

    使用oracle数据库,多用户同时对一个表进行增加,删除,修改,查看等操作,会不会有影响? 1.问题:各操作间或者性能上会不会有影响? 如果有该如何解决? 多用户操作的影响主要是回锁定记录,oracl ...

  5. WPF 各种基础动画实现

    C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using Syste ...

  6. Steps UVA 846

    说说:此题要求求出从整数x到达整数y所要经过的最短步数,且第一步和最后一步必须为一,同一时候每一步都比前一步多一步,少一步或一样.如果想搞清楚每一步详细是如何走的,那么这道题是相当麻烦的.考虑到前后两 ...

  7. HQApi命令行接口配置

    执行的命令行前准备 在您的个人文件夹中第一次创建 型材client.properties 如下面 cd C:\Users\scnyli\ mkdir ".hq" 创建一个 clie ...

  8. 算法战斗:给定一个号码与通配符问号W,问号代表一个随机数字。 给定的整数,得到X,和W它具有相同的长度。 问:多少整数协议W的形式和的比率X大?

    如果说: 给定一个号码与通配符问号W,问号代表一个随机数字. 给定的整数,得到X,和W它具有相同的长度. 问:多少整数协议W的形式和的比率X大? 进格公式 数据的多组,两排各数据的,W,第二行是X.它 ...

  9. Android 自己的自动化测试(2)依据ID查找对象(java)

    前一篇文章是写 Android 自己的自动化测试(1)如何安装和卸载应用程序(java) ,以下再探索一下假设在普通java应用程序中,依据ID来查找对象 1.类库依赖: The library de ...

  10. Linux在简短而经常使用的命令

    Linux组成: 内核:的心脏.是执行程序和管理像磁盘和打印机等硬件设备的核心程序. shell:是系统的用户界面,提供了用户和内核进行交互操作的一种接口.它接收用户输入的命令并把它送入内核去执行.是 ...