Sql Server - 使用Windows身份验证连接

时间:2010-09-10 07:20:18

标签: sql-server jdbc

我必须使用Windows身份验证连接到sql server

sql server在机器192.168.3.6上 网络服务器(客户端)在我的机器192.168.3.10

我正在使用JTDS驱动程序

dbUrl=jdbc:jtds:sqlserver://192.168.3.6:1099/db_test;instance=test
Connection con = DriverManager.getConnection( dbUrl, "", "" );

我有sql server管理员用户的用户名和密码!

我还将ntlmauth.dll放入c:\windowsc:\windows\system32,我总是出错:

  

java.sql.SQLException:用户'(null)'登录失败。原因:没有   与受信任的SQL Server连接相关联。

有什么想法解决我的问题吗? 非常感谢你

2 个答案:

答案 0 :(得分:42)

请参阅jTDS常见问题http://jtds.sourceforge.net/faq.html

您必须通过useNTLMv2=truedomain=yourdomain

答案 1 :(得分:3)

你可以做的是:

String url = "jdbc:jtds:sqlserver://MYPC/MYDB;instance=SQLEXPRESS";
Class.forName("net.sourceforge.jtds.jdbc.Driver");
Connection conn = DriverManager.getConnection(url);

确保在Java构建路径中有jtds.jar。

此外,添加“-Djava.library.path =”PATH \ JTDS \ x64 \ SSO“其中'Path'是安装JTDS驱动程序后SSO文件夹所在的位置(这是您拥有ntlmauth.dll的地方)。

Here是一个简短的分步指南,展示如何使用jTDS(以及JDBC)与Windows身份验证连接到SQL Server,如果您需要更多详细信息。希望它有所帮助!