java - ODBC 登录尝试使用 Windows 身份验证,即使我提供了 SQL Server 凭据

标签 java sql jdbc odbc jdbc-odbc

我在使用 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 显式传递一个参数,但如果提供了 UidPwd,这并不是真正需要的。

关于java - ODBC 登录尝试使用 Windows 身份验证,即使我提供了 SQL Server 凭据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28218191/

相关文章:

在 Netbeans IDE 中构建和清理后,Java 代码找不到资源文件?

java - 多维数组的 ActionListener 仅适用于第一个按钮?

java - JDBC 关闭资源

java - 如何在 Struts 2 中验证失败时返回自定义响应

java - Android,试图为android解析json数据

sql - SQL 数据库设计初学者指南

java - 使用jdbc计算sql表的行数

mysql - 如何使用jmeter将查询结果映射到变量中

MySQL 太慢了,从连接查询中获取 30 条记录需要 1 小时 48 分钟

python - 使用Python RE模块解析SQL语句