我无法使用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.
我相信这可能是我的连接字符串中的问题,有什么建议吗?
答案 0 :(得分:1)
Driver={SQL Server}
ODBC驱动程序无法将user=
识别为连接字符串参数名称,因此它会尝试登录SQL Server而不传递任何SQL Server凭据(即使用Windows身份验证)。
使用Uid=
和Pwd=
参数
Uid=sqlusername;Pwd=sqlpassword
将使用{SQL Server}
ODBC尝试使用SQL身份验证登录。我们还可以明确传递Trusted_Connection=no
的参数,但如果提供Uid
和Pwd
则不需要这样做。