微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

java – 获取JDBC连接的Null

我正在我的窗口上运行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文件

  <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&#38;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();
            } 
    }
}

解决方法:

基于Tomcat的JDBC Connection Pool使用连接池,您需要配置工厂属性,因此这是您更新的context.xml配置文件

<Context antiJARLocking="true" path="/web_app">
 <Resource name="jdbc/DB"
      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&#38;characterEncoding=UTF-8"/>
</Context>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐