2016-10-07 11 views
1

jdbc経由でPostgreSQLにアクセスしようとしています。以下のコードはEclipseからは実行されませんが、コマンドラインから実行されます。どのように私はEclipseからもそれを実行することができますどのような提案? postgresql-9.4.1211.jarはCLASSPATHにありますが、これは以下のパッケージとはまったく異なっています。 Eclipseのから実行している場合 のWindows 7、Javaの1.8.0.101.b13、postgresの9.5.3、4.5.1EclipseにJDBCドライバが見つかりませんでしたが、スタンドアロンで実行しているときに見つかりました

package PostTest; 

import java.sql.*; 
import java.util.logging.Level; 
import java.util.logging.Logger; 

public class Version 
{ 

    public static void main(String[] args) 
    { 

     Connection con = null; 
     Statement st = null; 
     ResultSet rs = null; 


     String url = "jdbc:postgresql://localhost/nederland"; 
     String user = "postgres"; 
     String password = "Hallo Postgres!"; 

     System.out.println ("Testing for driver"); 

     try 
     { 
     Class.forName("org.postgresql.Driver"); 
     // Success. 
     System.out.println ("driver found"); 
     } catch (ClassNotFoundException e) 
     { 
     // Fail. 
     System.out.println ("driver lost"); 
     } 

     System.out.println ("Trying to connect"); 
     try 
     { 
     con = DriverManager.getConnection(url, user, password); 
     st = con.createStatement(); 
     rs = st.executeQuery("SELECT VERSION()"); 

     if (rs.next()) { 
      System.out.println(rs.getString(1)); 
     } 

     } catch (SQLException ex) 
     { 
     Logger lgr = Logger.getLogger(Version.class.getName()); 
     lgr.log(Level.SEVERE, ex.getMessage(), ex); 

     } finally 
     { 
     try 
     { 
      if (rs != null) 
      { 
       rs.close(); 
      } 
      if (st != null) 
      { 
       st.close(); 
      } 
      if (con != null) 
      { 
       con.close(); 
      } 

     } catch (SQLException ex) 
     { 
      Logger lgr = Logger.getLogger(Version.class.getName()); 
      lgr.log(Level.WARNING, ex.getMessage(), ex); 
     } 
     } 
    } 
} 

Eclipseの私が取得:

Testing for driver 
driver lost 
Trying to connect 
Oct 07, 2016 8:43:02 PM PostTest.Version main 
SEVERE: No suitable driver found for jdbc:postgresql://localhost/nederland 
java.sql.SQLException: No suitable driver found for jdbc:postgresql://localhost/nederland 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at java.sql.DriverManager.getConnection(Unknown Source) 
    at PostTest.Version.main(Version.java:38) 

コマンドラインから実行している:

D:\home\arnold\development\java\projects\PostTest\bin>java PostTest.Version 
Testing for driver 
driver found 
Trying to connect 
PostgreSQL 9.5.3, compiled by Visual C++ build 1800, 64-bit 
+0

'BuildPath'を確認しましたか? – brso05

答えて

1

PostgreSQLライブラリがプロジェクト(たとえば/ libフォルダ)にある場合は、右クリック - >ビルドパス - >ビルドパスに追加します。

ライブラリがプロジェクトにない場合は、右のプロジェクトでクリック - >ビルドパス - >設定はビルドパス...次にライブラリ]タブをクリックし、は外部JARの追加...次に選択postgresql-9.4.1211.jarファイルを開き、「OK」をクリックします。

+0

もちろん、どうもありがとう! – Arnold

関連する問題