如何修复java.sql.SQLException:无法创建PoolableConnectionFactory(用户访问被拒绝' @' localhost'(使用密码:是))错误

时间:2017-12-01 03:42:07

标签: mysql eclipse jdbc permissions

我已经查看了有关此问题的所有问题,似乎无法让我的工作。我在使用mysql数据库时在eclipse上运行Web应用程序。当我尝试运行时,除了context.xml之外我没有错误我得到了错误:

  

java.sql.SQLException:无法创建PoolableConnectionFactory(用户访问被拒绝' @' localhost'(使用密码:是))

这就是我的context.xml的样子:

<Context>

  <Resource name="jdbc/HenryBooksWebApp1" 
            auth="Container" type="javax.sql.DataSource"
               maxActive="20" maxIdle="5" maxWait="10000"
               username="root" password="root" 
               driverClassName="com.mysql.jdbc.Driver"
               url="jdbc:mysql://localhost:3306/henrybooks?useSSL=false"/>

</Context>

任何人都知道如何修复它?

1 个答案:

答案 0 :(得分:0)

Satya 已经在评论中提出了正确的问题,因为对解决方案的进一步操作取决于它。

我重现了同样的问题:

<header>
  <div class="container">
    <div class="navbar">
      <div class="logo-holder">
        <img src="http://s3.amazonaws.com/dev.assets.neo4j.com/wp-content/uploads/stack-overflow-logo-json-data.png" alt="Logo" class="logo" />
      </div>
      <nav>
        <ul id="MenuItems" class="NavMenu">
          <li><a href="#">Home</a></li>
          <li><a href="#">Products</a></li>
          <li><a href="#">Account</a></li>
        </ul>
      </nav>
      <img src="..\Images\cart.png" alt="Basket" class="basket" />
      <img src="..\Images\PlaceHolders\menu.png" class="menu-icon" onclick="menutoggle()" />
    </div>
    <div class="row">
      <div class="col-2">
        <h1>Dragon Ball Accounts On Sale Now!<br /> Limited Time Only</h1>
        <p>Geting Dragon Ball Z accounts are cheaper than ever before for limited time only<br /> Don't miss this golden opportunity and buy now</p>
        <a href="#" class="btn">Explore Now &#8594;</a>
      </div>
      <div class="logoParent col-2">
        <img src="http://s3.amazonaws.com/dev.assets.neo4j.com/wp-content/uploads/stack-overflow-logo-json-data.png" />
      </div>
    </div>
  </div>
</header>

原因:在我的例子中,properties 文件和 context.xml 的设置不匹配。

例如,如果 properties 文件看起来像:

java.sql.SQLException: Cannot create PoolableConnectionFactory (Access denied for user 'root'@'localhost' (using password: YES))

context.xml 可以包含以下内容:

DATABASE_DRIVER_NAME=com.mysql.cj.jdbc.Driver
DATABASE_URL=jdbc:mysql://localhost:3306/db?useUnicode=true&serverTimezone=UTC&characterEncoding=UTF8
DATABASE_USER=root
DATABASE_PASSWORD=root

因此,文件之间将有完整的对应关系,应用程序将正常运行而不会出错。