Tomcat 6.0+sqlserver2005连接池配置

 

提示:            

org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of cla
ss '' for connect URL 'null'


 Cannot create JDBC driver of class '' for connect URL 'null'错误就是连接池没有链接好

      

 

步骤一:Tomcat目录下conf文件context.xml,添加数据库连接源,参考代码如下:

 <Resource  
 name="jdbc/sqlserver"  
   auth="Container"
   type="javax.sql.DataSource"
   driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
   url="jdbc:sqlserver://localhost:1433;DatabaseName=bookStore"
   username="sa"
   password="123"
   maxActive="100"
   maxIdle="30"
   maxWait="10000"
   />

步骤二:在项目WEB-INF下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>

(至此配置完毕,接下来是如何连接的问题)

步骤三:测试。测试连接是否成功,可以在页面加入如下代码:

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="java.sql.*"%>
<%@ page import="javax.sql.*"%>
<%@ page import="javax.naming.*"%>

<%
DataSource ds = null;
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
InitialContext ctx = new InitialContext();
ds = (DataSource)ctx.lookup("java:comp/env/jdbc/sqlserver");
conn = ds.getConnection();
}
catch(Exception e) {
e.printStackTrace();
}
%>
<%
if(null != conn) {
System.out.println("now have in if function");
try {
stmt = conn.createStatement();
rs =stmt.executeQuery("select * from t_book");
while(rs.next()) {
   out.println("编号:    " + rs.getString(1) + "<br/>");
   out.println("作者:    " + rs.getString(2) + "<br/>");
    out.println("名字:    " + rs.getString(3) + "<br/>");
   out.println("出版社: " + rs.getString(4) + "<br/>");
   out.println("价钱:    " + rs.getString(5) + "<br/>");
    out.println("折扣:    " + rs.getString(6) + "<br/>");
    out.println("出版日期:" + rs.getString(7) + "<br/>");
    out.println("页数:    " + rs.getString(8) + "<br/>");
    out.println("开本:    " + rs.getString(9) + "<br/>");
    out.println("内容简介:" + rs.getString(10) + "<br/>");
    out.println("添加时间:" + rs.getString(11) + "<br/>");
    out.println("类型:    " + rs.getString(12) + "<br/>");
   }
}
catch(SQLException e) {
e.printStackTrace();
}
}
%>

如果成功,将显示以下信息:

编号: 1
作者: Ajax高级程序设计
名字: Nicholas C.Zakas
出版社: 人民邮电出版社
价钱: 69.0
折扣: 0.75
出版日期:2008-07-01
页数: 513
开本: 800*1000
内容简介:本书是Ajax领域的名著,详细讲解了帧、JavaScript、cookie、XML和XHR如何与Ajax相关,以及具体的Ajax技术实现...
添加时间:2008-07-01
类型: A


备注(常见错误辨析):

当出现这个错误:org.apache.commons.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'.那是因为连接池创建不成功,这时应该检查连接语句。

这里的例子是基于Tomcat6.0+sqlserver2005上运行正常的,Tomcat6.0和其他版本的Tomcat或其他数据库的配置有些差异,所以也可能造成你直接用上面的代码错误。

引用:http://zzxkevin.blog.163.com/blog/static/189212720092216639909

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值