Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to escape special characters in mysql jdbc connection string

im trying to connect to a remote database. im sure that the remote database provide me all the privileges. but im getting this error when trying to connect to the remote mysql database through jdbc connection. my password contains, * and & symbol, i think that is the problem cause to this error. but i dont know how to escape those characters. please help

java.sql.SQLException: Access denied for user 'myusername'@'myhost' (using password: YES)

"jdbc:mysql://myhost/mydb?user=myusername&password=my&password*"

please help

Regards

like image 826
ishk Avatar asked Dec 21 '12 05:12

ishk


2 Answers

The JDBC connection string is in url format so you must use URL encoded values for all parameters. In your case the connection string should look like:

"jdbc:mysql://myhost/mydb?user=myusername&password=my%26password%2A"
like image 51
Salman Bashir Avatar answered Oct 12 '22 22:10

Salman Bashir


URLEncoder can be used:

String connectionString = "jdbc:mysql://myhost/mydb?" + URLEncoder.encode("user=myusername&password=my&password*", "UTF-8");
like image 35
tiboo Avatar answered Oct 12 '22 23:10

tiboo