对用户'@'localhost'的访问被拒绝(使用密码:是)SQLState:28000 VendorError:1045:如何解决此问题?

问题描述 投票:0回答:1

我刚开始尝试使用MYSQL和JDBC。但是我一开始就陷入困境。我可以加载Connector / j驱动程序,但无法连接到数据库。我在Windows上使用Eclipse。我可以使用相同的用户ID和密码使用MYSQL Shell连接到数据库。下面是程序和输出:

```   

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Medical {

    public static void main (String[] args) {
        Connection conn = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver").newInstance();
        } catch (Exception ex) {
            System.out.println("Cannot Load the Driver!"); 
            System.out.println("SQLException: " + ex.getMessage());         
        }
        try {
            conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/medical" + 
                    "?name=chayan&password='password'&useSSL=false");
            System.out.println("Connected!");

        } catch (SQLException ex) {
            System.out.println("Could not connect to the database!");
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        }
    }
}

```

输出:

无法连接到数据库!SQLException:对用户“ @'localhost”的访问被拒绝(使用密码:是)SQL状态:28000VendorError:1045

有人可以帮忙吗?

mysql jdbc
1个回答
0
投票

嗨,@ dashcay,我认为jdbc网址不是reference所说的,

字段name应为user,密码不应使用引号

尝试将getConnection行更改为此

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/medical" + 
                    "?user=chayan&password=password&useSSL=false");

希望获得帮助

© www.soinside.com 2019 - 2024. All rights reserved.