我在使用 Java 中的 JdbcOdbc 驱动程序连接到我的 Microsoft Server 2008 时遇到问题。我更喜欢使用 Jdbc 驱动程序而不是 Windows 驱动程序,因为客户端有多个连接选项。我使用的连接字符串是:
jdbc:odbc:Driver={SQL Server};SERVER=hostname;database=CadSysDB;user=sqlusername;pass=sqlpassword;}
服务器不使用 Windows 身份验证,而是使用 SQL 身份验证。
我收到的错误是:
java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][SQL Server]Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.
我认为这可能是我的连接字符串有问题,有什么建议吗?
最佳答案
Driver={SQL Server}
ODBC 驱动程序无法将 user=
识别为连接字符串参数名称,因此它会在不传递任何 SQL 的情况下尝试登录到 SQL Server服务器凭据(即使用 Windows 身份验证)。
使用 Uid=
和 Pwd=
参数传递 SQL Server 凭据
Uid=sqlusername;Pwd=sqlpassword
将获取 {SQL Server}
ODBC 以尝试使用 SQL 身份验证登录。我们还可以为 Trusted_Connection=no
显式传递一个参数,但如果提供了 Uid
和 Pwd
,这并不是真正需要的。
关于java - ODBC 登录尝试使用 Windows 身份验证,即使我提供了 SQL Server 凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28218191/