sqljdbc_auth.dll:无法在IA 32位平台上加载AMD 64位.dll

时间:2013-11-13 15:30:36

标签: java sql-server-2008 dll jdbc

我正在尝试使用带有IntegratedSecurity的JDBC sql server从JAVA代码连接到SQL Server 2008以使用Windows身份验证。

SQL身份验证在代码中运行良好,但是当我使用IntegratedSecurity进行Windows身份验证时,我面临着sql驱动程序问题。我在下面提供了简短的方案。

  

Java代码

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.Statement;

  public class Sqlselection 
    {
        public static void main(String[] args)
        {
            try
            {
                Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
     System.out.println("This programe runs on "+ System.getProperty("java.version"));

               String url="jdbc:sqlserver://*****\\*****;integratedSecurity=true";
               //Masked Server name & DB name
                Connection con = DriverManager.getConnection(url);
                Statement s1 = con.createStatement();
         ResultSet rs = s1.executeQuery("SELECT count(1) myrecords FROM dbo.mytable");
                String[] result = new String[20];
                if(rs!=null){
                    while (rs.next()){
                        for(int i = 0; i <result.length ;i++)
                        {
                            for(int j = 0; j <result.length;j++)
                            {
                                result[j]=rs.getString(i);
                            System.out.println(result[j]);
                        }
                        }
                    }
                }

            } catch (Exception e)
            {
                e.printStackTrace();
            }
    }


}
  

运行代码时出错

警告:无法加载sqljdbc_auth.dll原因:E:\ POC \ OMSChecker \ sqljdbc_auth.dll:无法在IA 32上加载AMD 64位.dll位平台 * com.microsoft.sqlserver.jdbc.SQLServerException: *此驱动程序未配置为集成身份验证。 ClientConnectionId:27af9d19-d144-47be-b9cf-bf646ed9bb3f

  

发出根本原因

sqljdbc_auth.dll与当前平台不兼容。

  

系统属性

C:\ Users&gt; java -version

java版“1.6.0_25”

Java(TM)SE运行时环境(版本1.6.0_25-b06)

Java HotSpot(TM)64位服务器VM(内置20.0-b11,混合模式)

  

Eclipse属性

启动器: win32.x86_64_1.1.200.v20120913-144807

使用过的dll: E:\ sqljdbc_2.0.1803.100_enu.exe \ sqljdbc_2.0 \ enu \ auth \ x64 \ sqljdbc_auth.dll

添加了外部Jar: sqljdbc4.jar

本地库位置:“E:\ sqljdbc_2.0.1803.100_enu.exe \ sqljdbc_2.0 \ enu \ auth \ x64 \”

  

备注

有人可以帮我解决问题。我是JAVA编码的新手,我已尝试过为类似帖子提供的所有解决方案。

1 个答案:

答案 0 :(得分:-2)

最后通过重新安装Windows操作系统找到了解决方案。

使用与sqljdbc4.jar&amp;上面相同的代码。低于VM参数

-Djava.library.path = E:\ sqljdbc_4.0 \ ENU \ AUTH \ 86 \

我能够成功连接。