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

时间:2015-01-29 15:21:04

标签: java sql jdbc odbc jdbc-odbc

我无法使用Java中的JdbcOdbc驱动程序连接到Microsoft Server 2008。我更喜欢在Windows驱动程序上使用Jdbc驱动程序,因为客户端有多个连接选项。我正在使用的连接字符串是:

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.

我相信这可能是我的连接字符串中的问题,有什么建议吗?

1 个答案:

答案 0 :(得分:1)

Driver={SQL Server} ODBC驱动程序无法将user=识别为连接字符串参数名称,因此它会尝试登录SQL Server而不传递任何SQL Server凭据(即使用Windows身份验证)。

使用Uid=Pwd=参数

传递SQL Server凭据
Uid=sqlusername;Pwd=sqlpassword

将使用{SQL Server} ODBC尝试使用SQL身份验证登录。我们还可以明确传递Trusted_Connection=no的参数,但如果提供UidPwd则不需要这样做。