2014-05-24 31 views
0

我在將我的JAVA程序連接到mysql上的數據庫時遵循了所有必要的步驟。 我的代碼片段如下:在mysql中訪問被拒絕的用戶

final String JDBC_DRIVER = "com.mysql.jdbc.Driver"; 
final String DB_URL = "jdbc:mysql://localhost/electionDatabase/"; 
final String User ="electionUser"; 
final String Password="election"; 
Class.forName(JDBC_DRIVER); 
conn = DriverManager.getConnection(DB_URL,"electionUser", Password); 

String sql = "select stateId from stateWiseSeats"; 

不過還是我得到一個錯誤說:

Access denied for user 'electionUser'@'localhost' to database 'electionDatabase/' 

我已經重新檢查我的用戶名和密碼在MySQL命令行,並授予我添加了所有的特權用戶爲指定的數據庫。仍然我收到錯誤。爲什麼?

+0

刪除最後一個斜槓DB_URL後再試一次。 – Braj

+0

當我刪除斜槓我得到空指針異常 – neerajdorle

+0

什麼是異常說?你現在正朝着解決這個問題的正確方向前進。 – Braj

回答

0
Class.forName("com.mysql.jdbc.Driver"); 
    // setup the connection with the DB. 
    connect = DriverManager 
     .getConnection("jdbc:mysql://localhost/electionDatabase?" 
      + "user=electionUser&password=election"); 

這應該可以解決您的問題。可能是DB_URL末尾的尾部正斜槓導致問題。

+0

不行不通 – neerajdorle

+0

GRANT ALL PRIVILEGES ON my_database。* TO'my_user'@'localhost' IDENTIFIED BY'my_password' WITH GRANT OPTION; – sp3tsnaz

+0

已經完成了它 – neerajdorle

2

,因爲它說的錯誤消息:

'electionDatabase/' 

被認爲是數據庫名稱爲按照提供的網址,因此它試圖訪問一個不存在的數據庫,並拋出這個錯誤。

嘗試刪除URL末尾的斜槓並執行。

+0

我嘗試了一切,斜槓刪除它給null – neerajdorle