在没有的java.library.path sqljdbc_auth(no sqljdbc_auth

2019-07-30 16:26发布

我有一个连接到SQL Server 2008实例在Java EE Web应用程序。 我没有连接和检索到我所有的表格,除了其中一人有任何问题。 在Tomcat日志中的错误是:

警告:无法加载sqljdbc_auth.dll原因: - 在没有的java.library.path sqljdbc_auth

Answer 1:

1)下载的JDBC驱动程序 在这里 。


2)解压缩文件,然后进入sqljdbc_version \ FRA \权威性\ x86\ 64
3)sqljdbc_auth.dll复制到C:\ Program Files文件\的Java \ jre_Version \ BIN
4)最后重新启动蚀



Answer 2:

下面是步骤,如果你想从Eclipse中做到这一点:

1)在C创建一个文件夹“sqlauth”:开车,DLL文件sqljdbc_auth.dll复制到文件夹

1)转到运行>运行配置

2)选择您的类“ 参数 ”标签

3)在VM参数添加下面的代码:

-Djava.library.path="C:\\sqlauth"

4)点击“应用”,然后单击“运行”

随意尝试其他方法 。



Answer 3:

该错误是明显的,不是吗?

你还没有加入其中sqljdbc_auth.dll存在的路径。 在系统所在的DLL是找出并添加到类路径。

如果这也不起作用,添加的文件夹,其中DLL存在(我假设\ Microsoft SQL Server的JDBC驱动程序3.0 \ sqljdbc_3.0 \ ENU \权威性\ 86)到PATH环境变量。

再次,如果您是通过蚂蚁会或在cmd你必须明确地提到使用-Djava.library.path = [路径MS_SQL_AUTH_DLL]路径



Answer 4:

对于简单的办法请按照下列步骤操作:

  1. 后藤: https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url#Connectingintegrated
  2. 下载JDBC文件并解压到您的首选地点
  3. 打开文件夹权威性符合您的操作系统的x64或x86
  4. 副本sqljdbc_auth.dll文件
  5. 粘贴:C:\ Program Files文件\的Java \ jdk_version \ BIN
  6. 重新启动Eclipse或netbeans的


Answer 5:

我刚刚遇到了同样的问题,但我自己的应用程序中。 我不喜欢用复制的dll,因为它不是很方便,所以我做了一些研究,并与下面的编程解决方案提出了解决方案。

基本上,做到SQL服务器的任何连接之前,您必须将添加sqljdbc_auth.dll到路径..这是很容易说:

PathHelper.appendToPath("C:\\sqljdbc_6.2\\enu\\auth\\x64");

一旦你知道如何做到这一点:

import java.lang.reflect.Field;

public class PathHelper {
    public static void appendToPath(String dir){

        String path = System.getProperty("java.library.path");
        path = dir + ";" + path;
        System.setProperty("java.library.path", path);

        try {

            final Field sysPathsField = ClassLoader.class.getDeclaredField("sys_paths");
            sysPathsField.setAccessible(true);
            sysPathsField.set(null, null);

        }
        catch (Exception ex){
            throw new RuntimeException(ex);
        }

    }

}

如今的集成身份验证的工作就像一个魅力:)。

学分https://stackoverflow.com/a/21730111/1734640让我摸不着头脑。



Answer 6:

要解决我做了以下内容:

  1. 复制sqljdbc_auth.dll进入目录: C:\Windows\System32
  2. 重新启动我的应用程序


文章来源: no sqljdbc_auth in java.library.path