2016-10-07 1 views
1

Ich versuche, PostgreSQL über JDBC zugreifen. Der folgende Code wird nicht von Eclipse ausgeführt, sondern von der Befehlszeile aus. Irgendwelche Vorschläge, wie ich es auch von Eclipse aus ausführen kann? Die postgresql-9.4.1211.jar ist in der CLASSPATH, die an einer ganz anderen Stelle als das Paket unten ist. Windows 7, java 1.8.0.101.b13, Postgres 9.5.3 Eclipse 4.5.1JDBC-Treiber nicht in Eclipse gefunden, aber gefunden, wenn Standalone ausgeführt

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

Wenn von Eclipse-Laufen bekomme ich:

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) 

Wenn von der Befehlszeile ausgeführt wird:

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

Haben Sie Ihren 'BuildPath' überprüft? – brso05

Antwort

1

Wenn die PostgreSQL-Bibliothek in Ihrem Projekt (zB/lib Ordner) mit der rechten klicken sie darauf -> Build Path ->hinzufügen Weg zu bauen.

Wenn die Bibliothek nicht in Ihrem Projekt ist, direkt in Ihrem Projekt klicken -> Build Path ->Konfigurieren Build Path ... dann in der Registerkarte Bibliotheken klicken und External JARs hinzufügen ... Wählen Sie dann die postgresql-9.4.1211.jar Datei und klicken Sie auf OK.

+0

Natürlich, vielen Dank vrry! – Arnold

Verwandte Themen