使用Windows身份验证将我的Sql Server 2008数据库连接到我的Java项目

使用Windows身份验证将我的Sql Server 2008数据库连接到我的Java项目,java,sql-server,jdbc,iis-7,Java,Sql Server,Jdbc,Iis 7,我有以下问题:我无法将我的Sql Server数据库连接到我的Java项目。我的数据库是Sql Server 2008 R2。并具有Windows身份验证模式。   我使用了以下代码行,但仍然存在相同的问题 "jdbc: sqlserver :/ / localhost; integratedSecurity = true;" 如果数据库用户有密码,我必须与下面这行代码集成 "jdbc: `sqlserver :/ / localhost; integratedSecurity = true;

我有以下问题:我无法将我的Sql Server数据库连接到我的Java项目。我的数据库是Sql Server 2008 R2。并具有Windows身份验证模式。   我使用了以下代码行,但仍然存在相同的问题

"jdbc: sqlserver :/ / localhost; integratedSecurity = true;"
如果数据库用户有密码,我必须与下面这行代码集成

"jdbc: `sqlserver :/ / localhost; integratedSecurity = true; = user, password =;"

如果无法使用Windows身份验证进行身份验证,则必须使用相同的数据创建第二个数据库,唯一的区别是使用Sql Server身份验证而不是Windows身份验证。

您收到的错误表明问题出在JDBC驱动程序上,不使用数据库或应用程序代码

根据Microsoft论坛,该问题已通过1.2版驱动程序修复。请尝试下载此版本,因为它将解决您的问题

最新版本可在


参考资料:

JDBC驱动程序支持通过integratedSecurity连接字符串属性在Windows操作系统上使用Type 2集成身份验证。要使用集成身份验证,请将sqljdbc_auth.dll文件复制到安装JDBC驱动程序的计算机上Windows系统路径上的目录中。 sqljdbc_auth.dll文件安装在以下位置:

<installation directory>\sqljdbc_<version>\<language>\auth\
\sqljdbc\\auth\
对于Microsoft JDBC Driver For SQL Server支持的任何操作系统,请参阅使用Kerberos集成身份验证连接到SQL Server,以了解Microsoft JDBC Driver 4.0 For SQL Server中添加的一项功能的说明,该功能允许应用程序使用具有类型4 Kerberos的集成身份验证连接到数据库

注: 如果运行的是32位Java虚拟机(JVM),请使用x86文件夹中的sqljdbc_auth.dll文件,即使操作系统是x64版本。如果在x64处理器上运行64位JVM,请使用x64文件夹中的sqljdbc_auth.dll文件。 或者,您可以设置java.libary.path系统属性以指定sqljdbc_auth.dll的目录

例如,如果JDBC驱动程序安装在默认目录中,则可以在Java应用程序启动时使用以下虚拟机(VM)参数指定DLL的位置: -Djava.library.path=C:\Microsoft JDBC驱动程序4.0 for SQL

Server\sqljdbc\uchs\auth\x86


您是否检查了中的集成安全部分?您必须指出
java.library.path
到您拥有
sqljdbc\u auth.dll
的地方。您能够使用sql身份验证进行连接吗?如果是,您是否检查了您的windows id是否已添加到sqlserver登录中。您是否也可以在此处发布您收到的错误?我可以使用Sql身份验证、用户和密码连接,但当我更改windows身份验证时(以我在问题中插入的第一行代码为例)。11:16:16734警告[com.microsoft.sqlserver.jdbc.internals.AuthenticationJNI](http--0.0.0.0-8999-6)未能加载sqljdbc_auth.dll原因:-java.library.path11:16:31508错误[stderr](http--0.0.0-8999-6)com.microsoft.sqlserver.jdbc.SQLServerException:此驱动程序未配置为集成身份验证。如果将sqljdbc4.jar放在Eclipse中的项目库中以解决问题,或者我必须将sqljdbc4.exe安装到SQL Server 2008中?