9

我正在尝试连接到远程数据库。我确定远程数据库为我提供了所有权限。但是当我尝试通过jdbc connection. 我的密码包含,,* 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*"

请帮忙

问候

4

2 回答 2

14

JDBC 连接字符串采用 url 格式,因此您必须对所有参数使用 URL 编码值。在您的情况下,连接字符串应如下所示:

"jdbc:mysql://myhost/mydb?user=myusername&password=my%26password%2A"
于 2015-12-16T09:51:31.210 回答
1

可以使用URLEncoder :

String connectionString = "jdbc:mysql://myhost/mydb?" + URLEncoder.encode("user=myusername&password=my&password*", "UTF-8");
于 2020-01-15T10:19:52.600 回答