嘿,我无法使用Linux上运行的Java代码连接到SQL Server。

如果设置integratedSecurity=true,则Java代码将失败,并显示以下错误:

WARNING: Failed to load the sqljdbc_auth.dll cause : no sqljdbc_auth in java.library.path
com.microsoft.sqlserver.jdbc.SQLServerException: This driver is not configured for integrated authentication. ClientConnectionId:b030b480-453d-4007-8151-a552150f74cd

这很有意义,因为Linux上没有sqljdbc.dll文件。

但是,如果我设置integratedSecurity=false,则会出现以下错误:
 com.microsoft.sqlserver.jdbc.SQLServerException: Login failed for user 'IT_DEV_USER'.

有人知道我如何将integratedSecurity设置为false来连接到SQL Server吗? (请注意,当integratedSecurity设置为false时,当Windows上运行Java代码时,我什至无法连接。)

如果没有,有什么办法可以使integratedSecurity在Linux上运行?

最佳答案

如果要使用集成安全性并使用JDBC Driver 4.0或更高版本,请在jdbc连接字符串中添加以下内容。

integratedSecurity=true;authenticationScheme=JavaKerberos

更多信息:http://blogs.msdn.com/b/psssql/archive/2015/01/09/jdbc-this-driver-is-not-configured-for-integrated-authentication.aspx

07-21 10:54