2017-06-08 8 views
1

データベース接続をコーディングしてクエリを実行するのは新しいことです。私はいくつかのチュートリアルと例を見てきましたが、これの95%が正しく行われているように感じますが、欠落している小さなものがあるはずです。JavaコードでSQL Serverデータベース接続を作成しようとするとエラーが発生する

私は現在、SQL Serverデータベースへの接続を作成しようとしていると私は例外を得続ける:

このドライバは、統合認証用に設定されていません。ここで

私のコードは次のようになります。私は私達のデータベースでは、Windows認証を使用するので、私は問題に実行していると思う

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()); 
    } 

。ここで私はログインするときには、Microsoft SQL Server Management Studioのに次のようになります。私はここで何をしないのです

enter image description here

+0

"JDBCドライバがインストールされているコンピュータのWindowsシステムパス上のディレクトリにsqljdbc_auth.dllファイルがありますか" https://docs.microsoft.com/en-us/sql/connect/jdbc/building-the-connection-url#Connectingintegrated – Winter

答えて

0

MSDN Documentationに従うと、Integrated AuthenticationからJDBCまでの問題を解決できます。

  • を統合認証を使用するには、JDBCドライバがインストールされているコンピュータのWindowsシステムパス上のディレクトリにsqljdbc_auth.dllファイルをコピー:あなたはこれを試してみたときに心に留めておくべき

    2つのこと。

  • 32ビットJava仮想マシン(JVM)を実行している場合は、オペレーティングシステムがx64バージョンであっても、x86フォルダにsqljdbc_auth.dllファイルを使用してください。 x64プロセッサで64ビットJVMを実行している場合は、x64フォルダにあるsqljdbc_auth.dllファイルを使用します。

希望すると、この問題の解決に役立ちます。

関連する問題