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

sym*_*mon 4 java sql-server jtds jdbc

感谢您抽时间阅读。我完全被什么可能是简单的事情难住了。我正在尝试连接到我的 SQL 数据库,以下内容往往有效:

String url = "jdbc:jtds:sqlserver://10.0.100.200;DatabaseName=master;user=sa;password=";
Run Code Online (Sandbox Code Playgroud)

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

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

当我使用以下内容时:

String url = "jdbc:jtds:sqlserver://localhost\\TESTDATA;DatabaseName=master;user=sa;password=";
Run Code Online (Sandbox Code Playgroud)

谢谢

Per*_*uss 7

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

"jdbc:jtds:sqlserver://localhost/master;instance=TESTDATA;..."
Run Code Online (Sandbox Code Playgroud)

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