Tomcat配置SQLserver2005数据库连接池问题
转自http://zhidao.baidu.com/question/333458157.html
我按照教学视频的以下步骤配置sqlserver2005在JSP中
的数据库连接池:
1、 把SQl Server2005JDBC驱动拷贝sqljdbc.jar到项目文件WEB-INF下的Lib里。
2、 修改tomcat下的conf/server.xml,添加如下所示代码:
<Context path="/xzq" docBase="D:\myeclipse\workspace\blog\WebRoot"
reloadable="true" URIEncoding="UTF-8">
<Resource name="jdbc/sqlserver2005"
auth="Container"
type="javax.sql.DataSource"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DataBaseName=blog;"
username="sa"
password="123"
maxActive="100"
maxIdle="30"
maxWait="10000"
/>
</Context>
3. 打开项目文件WEB-INF下的Web.xml文件,加入如下代码:
<resource-ref>
<description>Sqlserver2005</description>
<res-ref-name>jdbc/sqlserver2005</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
却总是出现以下异常:
严重: Servlet.service() for servlet jsp threw exception
java.lang.ClassNotFoundException: com.microsoft.sqlserver.jdbc.SQLServerDriver
网上找了不少的解决方法如:改用JTDS做驱动,或者“设置tcp/ip项,右键--属性,IP地址选项卡,IPALL的tcp动态端口项,检查是否有值,如没有可以设置为2609。”
但是问题依旧(如果用JTDS做驱动作驱动则异常提示“net.sourceforge.jtds.jdbc.Driver”),问题总在驱动程序连接数据库那里。
(注:如果不用数据库连接池而是使用传统的JDBC连接数据库却能连上)
问题补充:
请问出现这个问题怎么解决?
满意回答
2011-10-24 10:31
把你在tomcat下的conf/server.xml里添加的东西都删掉
然后在conf下建一个context.xml文件
加入如下代码:
<?xml version='1.0' encoding='utf-8'?>
<Context>
<Resource name="jdbc/sqlserver2005"
auth="Container"
type="javax.sql.DataSource"
password="你的服务器密码"
username="sa"
driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
url="jdbc:sqlserver://localhost:1433;DatabaseName=blog"
maxActive="100" maxIdle="30" maxWait="5000"/>
<!-- Default set of monitored resources -->
<WatchedResource>WEB-INF/web.xml</WatchedResource>
</Context>
最后把sqljdbc.jar放到tomcat的lib下
- 追问
-
你的下面这这句写错了吧:
password="你的服务器密码"
上面的不是“服务器密码”而是“数据库密码”;
另外:
“<WatchedResource>WEB-INF/web.xml</WatchedResource>”这句的作用不懂,是相当于
配置lz“WEB-INF下的Web.xml文件”吗?
- 回答
-
对,是数据库密码
下面那句话可以不用,删掉也行
- 追问
-
嗯,按照你的方法成功了。
不过,通过资料我了解到这种是把数据源配置到Tomcat中;
有另外一种方法(把数据源配置到Web工程目录下的META-INF\context.xml中)的方法,那种方法该怎么配?
- 回答
-
那也行,只不过是让tomcat启动的时候不去读自己的配置文件,去读你指定的文件而已
比如jbuilder和eclipse都允许手动指定tomcat启动时的配置文件
但你得在配置文件里增加很多配置,比如tomcat的端口等等,原理一样的,换个地方而已