我必须使用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:\windows
和c:\windows\system32
,我总是出错:
java.sql.SQLException:用户'(null)'登录失败。原因:没有 与受信任的SQL Server连接相关联。
有什么想法解决我的问题吗? 非常感谢你
答案 0 :(得分:42)
请参阅jTDS常见问题http://jtds.sourceforge.net/faq.html
您必须通过useNTLMv2=true
和domain=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,如果您需要更多详细信息。希望它有所帮助!