我使用jTDS驱动程序从我的Android应用程序连接到SQL Server数据库,该应用程序使用Windows身份验证。按照FAQs中的建议,我读取了READMESSO文件,并将本地SPPI库(ntlmauth.dll)放在系统路径(由path系统变量定义)中。

但是,当我尝试使用以下代码连接到数据库时:
String driver = "net.sourceforge.jtds.jdbc.Driver";
Class.forName(driver).newInstance();
String connString = "jdbc:jtds:sqlserver://192.168.56.1/MyMovies;";
Conncection conn = DriverManager.getConnection(connString);我得到了以下异常:
java.sql.SQLException: Single-Sign-On is only supported on Windows. Please specify a user name.发布于 2012-09-12 02:20:58
由于您是从android设备连接,因此您将无法获得驱动程序连接到SQL服务器所需的SSO凭据。您提到的设置仅当试图连接到DB的java程序在windows机器上时才起作用,错误消息清楚地提到了这一点。
除非您的应用程序具有基于连接到数据库的SSO用户的授权,否则您应该具有基于SQL Server用户的身份验证机制来连接到服务器,并且所有授权过程都应该绑定到此用户。
发布于 2012-09-12 02:15:30
您可能还需要提供用户名。
"jdbc:jtds:sqlserver://192.168.56.1/MyMovies;instance=SQLEXPRESS;user=foo"
https://stackoverflow.com/questions/12375437
复制相似问题