Mit JDBC auf postgreSQL Datenbank zugreifen

AlexD

Aktives Mitglied
Hallo zusammen,

ich habe folgendes Problem. Ich möchte mittels Netbeans mit JDBC auf eine postgreSQL Datenbank auf meinem Rechner zugreifen.


Nach einigem ausprobieren klappt das Login jetzt schon mal, aber ich komm nicht auf die Datenbank, folgender Fehler wird mir angezeigt.

un 22, 2015 12:15:57 PM org.bonn.se.services.db.JDBCTest main
SCHWERWIEGEND: null
org.postgresql.util.PSQLException: FEHLER: Relation „public.user“ existiert nicht
Position: 15
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2103)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1836)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:257)
at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:512)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:374)
at org.postgresql.jdbc2.AbstractJdbc2Statement.executeQuery(AbstractJdbc2Statement.java:254)
at org.bonn.se.services.db.JDBCTest.test(JDBCTest.java:46)
at org.bonn.se.services.db.JDBCTest.main(JDBCTest.java:25)

------------------------------------------------------------------------
BUILD SUCCESS
------------------------------------------------------------------------
Total time: 1.189s
Finished at: Mon Jun 22 12:15:57 CEST 2015
Final Memory: 6M/155M


der Code sieht so aus (ist nur ein Test)

Java:
import java.util.*;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.sql.*;
import org.bonn.services.util.Password;

/**
 *
 * @author Alex
 */
public class JDBCTest {
 
    
    public static void main(String [] args){
    JDBCTest connection = new JDBCTest();
        try {
            connection.test();
        } catch (SQLException ex) {
            Logger.getLogger(JDBCTest.class.getName()).log(Level.SEVERE, null, ex);
        }
    
    }
    
    public void test () throws SQLException{
    
    DriverManager.registerDriver(new org.postgresql.Driver());
    String url ="jdbc:postgresql://localhost/Edu4You";
    Properties props = new Properties();
    props.setProperty("user","postgres");
    props.setProperty("password", Password.PASSWORDDB);
    
    
    Connection conn = DriverManager.getConnection(url,props);
    
    Statement st;
    st = conn.createStatement();
    ResultSet rs = st.executeQuery("SELECT * FROM public.user");
    
    while(rs.next()){
    System.out.println("Login: " + rs.getString(1) + " )");
    System.out.println("password: " + rs.getString(2) + " )");
    
    }
    conn.close();
    }
    
    
}


Das Foto zeigt die angelegte Datenbank.

vielen Dank für eure Hilfe im voraus!

Alex
 

Anhänge

  • Datenbank.png
    Datenbank.png
    22,2 KB · Aufrufe: 39
Postgresql ist case-sensitive.

Code:
st.executeQuery("SELECT * FROM public.\"User\"");

Anführungszeichen sind notwendig, damit der Query nicht in Lowercase umgewandelt wird (was bei postgres standard ist). Alternativ kannst du die Tabelle "User" einfach kleinschreiben.
 
Laß das public weg, einfach nur "Select * from user". Ansonsten würde es auch eher heißen "Select * from Edu4You.user".
 

Neue Themen


Zurück
Oben