symon symon - 4 months ago 12x
Java Question

Using JDBC when server name contains a backslash (localhost\TESTDATA)

thanks for taking the time to read this. I'm completely stumped by what is probably a simple thing. I am trying to make a connection to my SQL database, the following tends to work:

String url = "jdbc:jtds:sqlserver://;DatabaseName=master;user=sa;password=";

However when my name contains a backslash, for example "localhost\TESTDATA I cannot seem to get it working, I am getting

"java.sql.SQLException: Unknown server host name 'localhost\TESTDATA'."

when I use the following:

String url = "jdbc:jtds:sqlserver://localhost\\TESTDATA;DatabaseName=master;user=sa;password=";



The jtds driver does not have the same syntax as the ms driver. You should send the instance name as a property, i.e. like this:


Also notice that the database name is sent as /master instead of as a property. Good luck!