【发布时间】:2015-02-08 05:18:31
【问题描述】:
我在我的 Windows 上运行 tomcat 7.0.47 并且我有 Mysql 数据库连接到存储在 BlueHost 中的数据。当我在本地运行它时,它成功运行并连接到 BlueHost 数据库而没有任何错误。但是当我尝试在运行 tomcat 7.0.42 的 linux 环境中部署它的 war 文件,它给了我以下错误:
org.apache.tomcat.dbcp.dbcp.SQLNestedException: Cannot create JDBC driver of class '' for connect URL 'null'
另外,我已将 tomcat.dbcp jar 导入到在线服务器,因为 linux 对此 jar 有一些问题。
Also, Server is working if I donot follow connection pooling approach .
我无法找出池化可能有什么问题?
以下是我的context.xml 文件:
<Context antiJARLocking="true" path="/web_app">
<Resource
name="jdbc/DB"
auth="Container"
type="javax.sql.DataSource"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="DBUser"
password="DBPassword"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://xx.xx.xx.xx:xx/DB_app?useUnicode=true&characterEncoding=UTF-8"/>
</Context>
web.xml:
<resource-ref>
<description>MySQL Datasource</description>
<res-ref-name>jdbc/DB</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Container</res-auth>
</resource-ref>
DatabaseConnection.java:
public class Get_Database_Connection
{
static DataSource ds;
public static Connection con=null;
public static Connection get_DB_Connection() throws NamingException,SQLException
{
if(ds==null)
{
Context ctx = new InitialContext();
ds = (DataSource) ctx.lookup("java:comp/env/jdbc/DB");
return ds.getConnection();
}
else
{
return ds.getConnection();
}
}
}
【问题讨论】:
-
听起来你的linux环境配置不正确。
-
@ElliottFrisch 你能指定我应该在 linux 环境中查找的确切位置吗?因为我已经添加了所需的罐子。
-
@Kanchan,linux box 的 ip 是否被列入 bluehost 的 MySQL 访问白名单?
-
@Sridhar 是的,它已被列入白名单
-
@Kanchan ,检查日志文件夹中tomcat的catalina.out文件可能会为您提供一些线索。