我正在我的窗口上运行tomcat 7.0.47,并且我在与BlueHost存储的数据之间存在Mysql数据库连接.当我在本地运行它时,它会成功运行并且在没有任何错误的情况下对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文件:
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"/>
web.xml中:
MySQL Datasource
jdbc/DB
javax.sql.DataSource
Container
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();
}
}
}
最佳答案 基于Tomcat的
JDBC Connection Pool使用连接池,您需要配置工厂属性,因此这是您更新的context.xml配置文件:
auth="Container"
type="javax.sql.DataSource"
factory="org.apache.tomcat.jdbc.pool.DataSourceFactory"
maxActive="100"
maxIdle="30"
maxWait="10000"
username="yourUsername"
password="password"
driverClassName="com.mysql.jdbc.Driver"
url="jdbc:mysql://xx.xx.xx.xx:xx/DB_app?useUnicode=true&characterEncoding=UTF-8"/>