在将我的JAVA程序连接到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 :(得分:2)
正如错误消息中所述:
'electionDatabase/'
根据提供的URL,被视为数据库名称,因此它尝试访问不存在的数据库并抛出此错误。
尝试删除URL末尾的斜杠并执行。
答案 1 :(得分: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末尾的尾随斜杠可能导致问题。