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
Haben Sie Ihren 'BuildPath' überprüft? – brso05