尝试使用Java代码

时间:2017-06-08 14:17:20

标签: java sql-server jdbc

我对编码数据库连接和运行查询以及所有这些都是相当新的。我已经查看了一些教程和示例,我觉得我已经完成了95%的正确操作,但是我必须找到一些小的东西。

我目前正在尝试建立与SQL Server数据库的连接,并且我一直在获取异常:

  

此驱动程序未配置为集成身份验证。

以下是我的代码:

try {
        String url = "jdbc:sqlserver://serverName;DatabaseName=database;integratedSecurity=true";
        Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
        Connection conn = DriverManager.getConnection(url, "username", "password");
        Statement stmt = conn.createStatement();
        ResultSet rs;

        rs = stmt.executeQuery("select * from database.dbo.table\n" +
                "  where column = 2785 \n" +
                "  AND anotherColumn = 3");
        while ( rs.next() ) {
            String condition = rs.getString("Condition");
            System.out.println(condition);
        }
        conn.close();
    } catch (Exception e) {
        System.err.println("Got an exception! ");
        System.err.println(e.getMessage());
    }

我认为我遇到了一个问题,因为我们的数据库使用Windows Auth。这是我登录Microsoft SQL Server Management Studio时的样子:

enter image description here

我在这里缺少什么?

1 个答案:

答案 0 :(得分:0)

您可以点击MSDN Documentation通过Integrated Authentication解决JDBC的问题。

尝试这一点时要记住两件事:

  • 要使用集成身份验证,请将sqljdbc_auth.dll文件复制到安装JDBC驱动程序的计算机上Windows系统路径上的目录中。
  • 如果您运行的是32位Java虚拟机(JVM),请使用x86文件夹中的sqljdbc_auth.dll文件,即使操作系统是x64版本也是如此。如果在x64处理器上运行64位JVM,请使用x64文件夹中的sqljdbc_auth.dll文件。

希望这可以帮助您解决问题。