2014-01-21 167 views
1

所以我試圖連接到我的數據庫並顯示錶中的項目。 我得到的錯誤是:SQL異常:com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒絕訪問用戶「鮑勃」 @「%」到數據庫「test」Java數據庫mySQL訪問被拒絕

這是正確的連接,如果那麼憑證是錯誤的錯誤?如果他們錯了,它是如何連接的?謝謝

try 
    { 
     Class.forName("com.mysql.jdbc.Driver");   
     String url = "jdbc:mysql://THISISTHEHOSTNAME"; 
     String username = "Bob"; 
     String password = "password"; 
     Connection connection = DriverManager.getConnection(url, username, password); 
     Statement stmt = null; 
     ResultSet rs = null; 
     //SQL query command 
     String SQL = "SELECT * FROM TEST"; 
     stmt = connection.createStatement(); 
     rs = stmt.executeQuery(SQL); 
     while (rs.next()) 
     { 
      System.out.println(rs.getString("ProductName") + " : " + rs.getString("UnitPrice")); 
     } 
    } 
    catch (SQLException e) 
    { 
     System.out.println("SQL Exception: "+ e.toString()); 
    } 
    catch (ClassNotFoundException cE) 
    { 
     System.out.println("Class Not Found Exception: "+ cE.toString()); 
    } 
+1

是的,它是連接,但它沒有登錄,因爲憑據是錯誤的。 –

回答

-1

這裏有幾件事情要做:

  1. 檢查,看看你的用戶名和密碼是否正確。
  2. 您是否將用戶名添加到正確的數據庫? (這需要在CPanel SQL中完成)
  3. 您是否允許數據庫從您的IP地址獲得連接訪問權限? (這也需要在CPanel SQL中完成)
+1

Downvoted,因爲這不能回答問題。 –

+0

我使用的是godaddy數據庫,用戶名和密碼是我在創建時提供的。 – user3211740

+0

您是否已將用戶名放入數據庫並授予其權限?像這樣:http://website-in-a-weekend.net/wp-content/uploads/2010/03/add_user-db.png – Programmer

5

您需要爲連接到mysql db的用戶授予適當的權限。

您收到的消息通知您,雖然您的用戶能夠連接到數據庫服務器,但不允許訪問數據庫TEST。

運行在MySQL控制檯執行以下命令將授予這樣的訪問:

GRANT ALL ON TEST.* TO 'BOB'@'%' 

這是非常寬容的,你應該記住,數據庫的用戶應該有可能的權限最小量被限制在最小的主機範圍。

+0

MySQL說:文檔 #1044 - 訪問拒絕用戶'BOB'@'%'到數據庫'測試' – user3211740

0

我用ShowIP Firefox添加和使用IP來代替,並沒有得到任何錯誤,但我想知道是否應該返回訪問授予,我目前無法找到答案。

-1

在MySQL中建立檢查新用戶的所有全局權限>走在NetBeans>數據庫>在本地主機的MySQL服務器來服務>右鍵點擊連接,並填寫用戶名密碼

這個工作對我來說

+1

創建一個具有所有權限的新用戶並將其與netbeans連接 – tobizzz

-1

請嘗試代碼如下:

import java.sql.*; 
public class InsertPrepared { 

    public static void main(String[] args) 
    { 
     try 
     { 
     Class.forName("com.mysql.jdbc.Driver"); 
     Connection con=DriverManager.getConnection("jdbc:mysql://localhost:3306//test","sanjib",""); 
     PreparedStatement stmt=con.prepareStatement("insert into employee values(???)"); 

     stmt.setInt(1,101); 
     stmt.setString(2,"Sampa"); 

     int i=stmt.executeUpdate(); 
     System.out.println(i+"Records is inserted"); 
     con.close(); 
     } 

     catch(Exception e) 
     { 
     System.out.println(e); 
     } 

    } 
} 
+0

我沒有得到正確的答案,當我運行然後com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException:拒絕用戶''@'localhost'到數據庫'/ test'的訪問 show and not uodate in database –