java.sql.SQLException:仅在Windows上支持单点登录。请指定用户名
我正在使用驱动程序从我的Android应用程序连接到SQL Server数据库,该应用程序使用Windows身份验证。按照中的建议,我阅读了该文件,并按照说明将本机SPPI库(ntlmauth.dll)放置在系统路径中(由path系统变量定义) 但是,当我尝试使用以下代码连接到数据库时:java.sql.SQLException:仅在Windows上支持单点登录。请指定用户名,java,android,sql-server,single-sign-on,jtds,Java,Android,Sql Server,Single Sign On,Jtds,我正在使用驱动程序从我的Android应用程序连接到SQL Server数据库,该应用程序使用Windows身份验证。按照中的建议,我阅读了该文件,并按照说明将本机SPPI库(ntlmauth.dll)放置在系统路径中(由path系统变量定义) 但是,当我尝试使用以下代码连接到数据库时: String driver = "net.sourceforge.jtds.jdbc.Driver"; Class.forName(driver).newInstance(); String connStri
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.
您可能还必须提供用户名
jdbc:jtds:sqlserver://192.168.56.1/MyMovies;instance=SQLEXPRESS;user=foo“由于您是从android设备连接的,因此无法获取驱动程序连接SQL server所需的SSO凭据。您提到的设置仅在尝试连接到DB的java程序位于windows计算机上时有效,错误消息中明确提到了这一点
除非您的应用程序具有基于连接到数据库的SSO用户的授权,否则您应该具有基于SQL Server用户的身份验证机制来连接到服务器,并且所有授权过程都应绑定到此用户。当我尝试任何用户名时,我得到一个不同的异常:
java.sql.SQLException:用户“foo”登录失败。