如何在mysql jdbc连接字符串中转义特殊字符

时间:2012-12-21 05:05:37

标签: mysql jdbc connection

我试图连接到远程数据库。我确定远程数据库为我提供了所有权限。但是在尝试通过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*"

请帮助

此致

2 个答案:

答案 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");
相关问题