在eclipse中解决sql server 2008 r2与java之间的连接错误

我正在尝试使用eclipse IDE中的microsoft JDBC sqljdbc_4.0驱动程序将SQL Server 2008 r2与我的java应用程序连接,我在Java和sql server 2008之间使用JDBC连接几次,我尝试了一些但是得到了相同的错误消息,所以最后我决定把这个问题放在这里,错误信息是什么,我可以知道我在做什么错?

我跟着一个链接 ! 用于连接SQL Server和Java的链接。

我的java程序:

import java.sql.Connection; import java.sql.DriverManager; import java.sql.SQLException; public class Connect { public static void main(String[] args) throws Exception { String userName = "Abhishek"; String password = "abhishek-nayak"; String url = "jdbc:sqlserver://Abhishek-VAIO\\MSSQLSERVER;databaseName=master;integratedSecurity=true"; try { Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver"); Connection conn = DriverManager.getConnection(url,userName,password); System.out.println("Connected"); } catch(SQLException e) { e.printStackTrace(); } } } 

我的错误信息是:

 Sep 06, 2012 9:09:55 PM com.microsoft.sqlserver.jdbc.AuthenticationJNI  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:5cb4d70b-f644-4670-b7bc-a2312b8547b4 at com.microsoft.sqlserver.jdbc.SQLServerConnection.terminate(SQLServerConnection.java:1667) at com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:60) at com.microsoft.sqlserver.jdbc.SQLServerConnection.logon(SQLServerConnection.java:2229) at com.microsoft.sqlserver.jdbc.SQLServerConnection.access$000(SQLServerConnection.java:41) at com.microsoft.sqlserver.jdbc.SQLServerConnection$LogonCommand.doExecute(SQLServerConnection.java:2220) at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:5696) at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:1715) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connectHelper(SQLServerConnection.java:1326) at com.microsoft.sqlserver.jdbc.SQLServerConnection.login(SQLServerConnection.java:991) at com.microsoft.sqlserver.jdbc.SQLServerConnection.connect(SQLServerConnection.java:827) at com.microsoft.sqlserver.jdbc.SQLServerDriver.connect(SQLServerDriver.java:1012) at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at com.abhishek.Connect.main(Connect.java:17) Caused by: java.lang.UnsatisfiedLinkError: no sqljdbc_auth in java.library.path at java.lang.ClassLoader.loadLibrary(Unknown Source) at java.lang.Runtime.loadLibrary0(Unknown Source) at java.lang.System.loadLibrary(Unknown Source) at com.microsoft.sqlserver.jdbc.AuthenticationJNI.(AuthenticationJNI.java:35) ... 12 more 

您正在使用依赖于本机SQL Server驱动程序的JDBC驱动程序,并且需要将其依赖于(sqljdbc_auth.dll)的DLL的路径添加到java中的库路径。

要将其添加到Eclipse项目的设置中(假设您已经安装了SQL Server驱动程序),请执行以下操作:

右键单击项目资源管理器中的项目 – >属性 – > Java构建路径 – >选择sqljdbc4.jar ,然后展开 – >选择本机库位置 – >编辑… – >输入/sqljdbc_2.0/enu/auth/x64 – >好的。

结果应如下所示:

Eclipse中的本机库路径位置