我在tomcat进行dbcp配置时出现org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'jdbc:jtds:sqlserver://localhost:1433/demo'
org.apache.tomcat.dbcp.dbcp.BasicDataSource.createDataSource(BasicDataSource.java:1150)
org.apache.tomcat.dbcp.dbcp.BasicDataSource.getConnection(BasicDataSource.java:880)
org.apache.jsp.viewdb_jsp._jspService(viewdb_jsp.java:90)
org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
context的配置为[code="java"] auth="Container"
type="javax.sql.DataSource"
factory=org.apache.commons.dbcp.BasicDataSourceFactory
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="123456789"
driveClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433/demo"/> [/code]
项目的web.xml文件配置为[code="java"]
db connection
jdbc/TestDB
javax.sql.DataSource
Container
[/code]
有谁知道是什么原因?
[color=blue]
[b]driveClassName改为这样,应该就可以了:[/b][/color]
[code="xml"] driveClassName="net.sourceforge.jtds.jdbcx.JtdsDataSource" [/code]
[code="sql"] auth="Container"
type="javax.sql.DataSource"
factory=org.apache.commons.dbcp.BasicDataSourceFactory
maxActive="100"
maxIdle="30"
maxWait="10000"
username="sa"
password="123456789"
driveClassName="net.sourceforge.jtds.jdbc.Driver"
url="jdbc:jtds:sqlserver://localhost:1433/demo">
[/code]
这样试试!
[color=blue][size=medium]确定你的mysql驱动放在项目中了么?[/size][/color]
1)启动Tomcat服务器,打开浏览器,输入http://localhost:8080/admin(其中localhost是名称服务器或称为主机),
进入管理界面的登陆页面,这时候请输入原来安装时要求输入的用户名和密码,登陆到管理界面,
2)选择Resources-Data sources进入配置数据源界面,选择
Data Source Actions ->选择Create New Data Source,进入配置详细信息界面
主要内容例如下:
JNDI Name: ->jdbc/mysql
Data Source URL ->jdbc:mysql://localhost:3306/test
JDBC Driver Class-> org.gjt.mm.mysql.Driver
3)修改\conf\Catalina\localhost目录下建立一个xml文件,名称为你所发布的web应用的名称.xml,(如testpool.xml)打开添加内容如下:
<?xml version="1.0" encoding="UTF-8"?>
name="jdbc/mysql"
type="javax.sql.DataSource"
password="123456"
driverClassName="org.gjt.mm.mysql.Driver"
maxIdle="2"
maxWait="50"
username="root"
url="jdbc:mysql://localhost:3306/test"
maxActive="4"/>
内容同conf/server.xml中
name="jdbc/mysql"
type="javax.sql.DataSource"
password="123456"
driverClassName="org.gjt.mm.mysql.Driver"
maxIdle="2"
maxWait="50"
username="root"
url="jdbc:mysql://localhost:3306/test"
maxActive="4"/>
少了这一步会报错:Cannot create JDBC driver of class '' for connect URL 'null'
4)修改web.xml
打开%TOMCAT_HOME%\conf\web.xml或yourwebapp/web-inf/web.xml,添加以下内容:
DB Connection
jdbc/mysql
javax.sql.DataSource
Container
注意res-ref-name填写的内容要与在上文提到的JNDI Name名称一致。
到这里,配置工作就基本完成了!
5)引用JNDI时用"java:comp/env/jdbc/mysql";
建立文件测试 test.jsp:
<%@page contentType="text/html;charset=utf-8" %>
<%@page import="java.sql.*" %>
<%@page import="javax.sql.*" %>
<%@page import="javax.naming.*" %>
%>
把context.xml 贴出来看看