gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 03:42:54 25 4
gpt4 key购买 nike

我正在尝试在 Eclipse IDE 中使用 Microsoft JDBC sqljdbc_4.0 驱动程序将 SQL Server 2008 r2 与我的 Java 应用程序连接起来,我用 Java 和 SQL Server 2008 之间的 JDBC 连接仔细观察了几次,我尝试了一些但得到了同样的错误消息,所以最后我决定把问题放在这里,错误消息是什么,我可以知道我做错了什么?

我关注了a link !与 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 <clinit>
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.<init>(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.<clinit>(AuthenticationJNI.java:35)
... 12 more

最佳答案

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

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

在 Project Explorer 中右键单击项目 -> 属性 -> Java 构建路径 -> 选择 sqljdbc4.jar , 所以它展开 -> 选择 Native library location -> Edit... -> 输入 <location of SQL server driver on your machine>/sqljdbc_2.0/enu/auth/x64 -> 确定。

结果应该是这样的:

Native library path location in Eclipse

关于java - 解决sql server 2008 r2与java在eclipse中的连接错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12304495/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com