0

我正在使用jTDS驱动程序从我的 Android 应用程序连接到 SQL Server 数据库,该应用程序使用 Windows 身份验证。按照常见问题解答中的建议,我阅读了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.
4

2 回答 2

1

由于您是从 Android 设备连接的,因此您将无法获得驱动程序连接到 SQL 服务器所需的 SSO 凭据。您提到的设置仅在尝试连接到数据库的 java 程序位于 Windows 机器上时才有效,错误消息清楚地提到了这一点。

除非您的应用程序具有基于连接到数据库的 SSO 用户的授权,否则您应该有一个基于 SQL Server 用户的身份验证机制来连接到服务器,并且所有授权过程都应该与该用户相关联。

于 2012-09-11T18:20:57.670 回答
0

您可能还必须提供用户名。

"jdbc:jtds:sqlserver://192.168.56.1/MyMovies;instance=SQLEXPRESS;user=foo"

于 2012-09-11T18:15:29.883 回答