Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java.sql.SQLException:仅在Windows上支持单点登录。请指定用户名_Java_Android_Sql Server_Single Sign On_Jtds - Fatal编程技术网

java.sql.SQLException:仅在Windows上支持单点登录。请指定用户名

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

我正在使用驱动程序从我的Android应用程序连接到SQL Server数据库,该应用程序使用Windows身份验证。按照中的建议,我阅读了该文件,并按照说明将本机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.

您可能还必须提供用户名


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”登录失败。