2016-06-11 129 views
0

感谢您抽出时间阅读此内容。我完全被难以理解的东西所困扰。我试图让我的SQL数据库的连接,下面往往工作:当服务器名称包含反斜杠(localhost TESTDATA)时使用JDBC

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

然而,当我的名字包含反斜杠,例如“本地主机\ TESTDATA我似乎无法得到它的工作,我得到

“值java.sql.SQLException:未知服务器主机名的 'localhost \ TESTDATA'。”

当我使用以下命令:

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

感谢

+0

你试过正常的斜杠吗?像“本地主机/ TESTDATA”? – Nozdrum

+0

这是错误的。主机是关于服务器的。它应该是一个IP地址或别名。没有前锋。你误会了。 – duffymo

+0

TESTDATA代表什么?你为什么需要它? –

回答

1

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

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

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

0

您需要指定端口号,只是给服务器名称将不起作用。所以它应该像

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

;

0

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

您也可以使用IP地址,但是如果您可以通过主机名ping通,它将起作用。

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

找出正确的主机名第一。