【问题标题】:how to escape special characters in mysql jdbc connection string如何转义mysql jdbc连接字符串中的特殊字符
【发布时间】:2012-12-08 16:55:00
【问题描述】:

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

请帮忙

问候

【问题讨论】:

  • 你的意思是你的密码是 (my&password*") ????
  • i) 尝试将端口添加到服务器 ii) grokbase.com/t/mysql/java/03cvhkkd6b/how-to-in-password
  • 我试过 &但它没有用,我也添加了端口,但它给了我同样的错误。我使用 mysql 5.1.22 j 连接器。还有其他建议吗?

标签: mysql jdbc connection


【解决方案1】:

URLEncoder可以用:

String connectionString = "jdbc:mysql://myhost/mydb?" + URLEncoder.encode("user=myusername&password=my&password*", "UTF-8");

【讨论】:

    【解决方案2】:

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

    "jdbc:mysql://myhost/mydb?user=myusername&password=my%26password%2A"
    

    【讨论】:

      猜你喜欢
      • 2017-04-02
      • 1970-01-01
      • 2014-04-27
      • 1970-01-01
      • 2011-06-17
      • 2010-10-27
      • 2011-05-11
      • 2011-05-07
      相关资源
      最近更新 更多