当服务器名称包含反斜杠时使用 JDBC (localhost\TESTDATA)

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

感谢您花时间阅读本文。我完全被这可能是一件简单的事情难住了。我正在尝试连接到我的 SQL 数据库,下面的方法可以正常工作:

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

然而,当我的名字包含反斜杠时,例如“localhost\TESTDATA 我似乎无法让它工作,我得到

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

当我使用以下内容时:

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

谢谢

您需要指定端口号,仅提供服务器名称是行不通的。所以它应该像

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

;

主机名中没有反斜杠这样的东西。您需要在命令提示符下执行 ping hostname,并且您对主机名使用的任何内容都会在 URL 中用于 JDBC。

您也可以使用 IP 地址,但如果您可以通过主机名 ping 通,它就可以了。

看这里:http://www.wikihow.com/Ping-an-IP-Address

先找出正确的主机名。

jtds 驱动程序的语法与 ms 驱动程序不同。您应该将实例名称作为 属性 发送,即像这样:

"jdbc:jtds:sqlserver://localhost/master;instance=TESTDATA;..."

另请注意,数据库名称作为 /master 而不是 属性 发送。祝你好运!