ODBC 登录尝试使用 Windows 身份验证,即使我提供了 SQL 服务器凭据

ODBC login is trying to use Windows authentication even though I supply SQL Server credentials

我在使用 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 服务器(即,使用 Windows 身份验证)。

使用 Uid=Pwd= 参数传递 SQL 服务器凭据

Uid=sqlusername;Pwd=sqlpassword

将获取 {SQL Server} ODBC 以尝试使用 SQL 身份验证登录。我们也可以显式地为 Trusted_Connection=no 传递一个参数,但如果提供了 UidPwd,那么这并不是真正需要的。