我试图连接到远程数据库。我确定远程数据库为我提供了所有权限。但是在尝试通过jdbc connection
连接到远程mysql数据库时出现此错误。我的密码包含* and & symbol
,我认为这是导致error
的问题。但我不知道如何escape those characters
。请帮忙
java.sql.SQLException: Access denied for user 'myusername'@'myhost' (using password: YES)
"jdbc:mysql://myhost/mydb?user=myusername&password=my&password*"
请帮助
此致
答案 0 :(得分:6)
JDBC连接字符串采用url格式,因此必须对所有参数使用URL编码值。在您的情况下,连接字符串应如下所示:
"jdbc:mysql://myhost/mydb?user=myusername&password=my%26password%2A"
答案 1 :(得分:0)
URLEncoder可以使用:
String connectionString = "jdbc:mysql://myhost/mydb?" + URLEncoder.encode("user=myusername&password=my&password*", "UTF-8");