java.sql.SQLException:无法创建类''的JDBC驱动程序。用于根据原因连接URL' null']

时间:2016-07-25 14:55:34

标签: java mysql spring tomcat jndi

我正在尝试使用jndi查找

建立与数据库的连接

这是我在webapp meta-inf文件夹中定义的context.xml

<Resource name="jdbc/connectDB" auth="Container" type="javax.sql.DataSource"
        maxTotal="100" maxIdle="30" maxWaitMillis="10000" username="root"
        password="" driverClassName="com.mysql.jdbc.Driver"
        url="jdbc:mysql://localhost:3306/connect" />

我使用此过程在web.xml文件夹中调用此文件

<resource-ref>
        <res-ref-name>jdbc/connectDB</res-ref-name>
        <res-type>javax.sql.DataSource</res-type>
        <res-auth>Container</res-auth>
    </resource-ref>

在研究解决错误之后,我还尝试使用webappname.xml在我的catalina文件夹中引用该文件。我还在我的tomcat的lib文件夹中添加了jar,但仍然存在错误。

这是错误跟踪

SEVERE: Servlet.service() for servlet [dispatcher] in context with path [/connectmain] threw exception [Request processing failed; nested exception is org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connection; nested exception is java.sql.SQLException: Cannot create JDBC driver of class '' for connect URL 'null'] with root cause
java.sql.SQLException: No suitable driver
    at java.sql.DriverManager.getDriver(DriverManager.java:315)

请问我错过了什么以获得此错误

2 个答案:

答案 0 :(得分:0)

您的xml文件不是此错误的位置。您需要为您的数据库下载jdbc驱动程序才能连接到它。

另外,我不认为你的java文件是问题,但是我再也不知道你的工作区的一切,并且没有看到看起来完全像这样的堆栈跟踪。但是您的问题也可能是在java文件中调用数据库的方法,它调用了DriverManager.getConnection([url of db],[username],[password]);

答案 1 :(得分:0)

也许你应该下载mysql-connector-java.x.x.x并试一试。 这取决于mysql版本