【发布时间】:2010-09-15 13:07:46
【问题描述】:
我有一个托管在 Godaddy 的网站,我使用 JNDI 来管理数据库连接。 Godaddy 使用 Tomcat 5.5.27 和 JDK 1.5。我也在本地使用相同的版本。
JNDI 在我的本地开发环境中运行良好,但是当我在 Godaddy 上运行它时,我收到以下异常消息:
Cannot create JDBC driver of class '' for connect URL 'null'
我已将所有内容正确放置在 Godaddy 服务器中,就像在我的本地系统中一样。
这里是context.xml
<?xml version="1.0" encoding="UTF-8"?>
<Context>
<!-- Specify a JDBC datasource -->
<Resource
name="jdbc/interviewzone"
auth="Container"
type="javax.sql.DataSource"/>
<ResourceParams name="jdbc/interviewzone">
<parameter>
<name>factory</name>
<value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
</parameter>
<parameter>
<name>driverClassName</name>
<value>com.mysql.jdbc.Driver</value>
</parameter>
<parameter>
<name>url</name>
<value>someurl</value>
</parameter>
<parameter>
<name>username</name>
<value>root</value>
</parameter>
<parameter>
<name>password</name>
<value>root</value>
</parameter>
<parameter>
<name>maxActive</name>
<value>20</value>
</parameter>
<parameter>
<name>maxIdle</name>
<value>10</value>
</parameter>
<parameter>
<name>maxWait</name>
<value>-1</value>
</parameter>
<parameter>
<name>removeAbandoned</name>
<value>true</value>
</parameter>
<parameter>
<name>removeAbandonedTimeout</name>
<value>300</value>
</parameter>
<parameter>
<name>logAbandoned</name>
<value>true</value>
</parameter>
</ResourceParams>
</Context>
这是我的 Java 代码的相关部分:
Context initContext = new InitialContext();
DataSource dataSource = (DataSource) initContext.lookup("java:/comp/env/jdbc/interviewzone");
Connection conn = dataSource.getConnection(); // This throws exception.
我已将资源包含在web.xml 中。因为它在本地运行良好,所以我认为代码没有问题。我已经联系了 Godaddy,但他们在技术上很弱。他们说问题出在我的代码中,但我不同意他们的观点,因为它在本地运行良好。
【问题讨论】:
-
即使代码在您自己的机器上运行良好,问题也很容易出在您的代码中。