# Mit JDBC auf postgreSQL Datenbank zugreifen



## AlexD (22. Jun 2015)

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)


```
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


----------



## redJava99 (24. Jun 2015)

Postgresql ist case-sensitive.


```
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.


----------



## Tom299 (24. Jun 2015)

Laß das public weg, einfach nur "Select * from user". Ansonsten würde es auch eher heißen "Select * from Edu4You.user".


----------



## AlexD (24. Jun 2015)

Vielen Dank damit hat es geklappt!

Kann geschlossen werden.


----------



## Joose (24. Jun 2015)

AlexD hat gesagt.:


> Vielen Dank damit hat es geklappt!



Was hat geklappt? Das weglassen von "public" oder das Hinzufügen von Anführungszeichen und gleichzeitiges beachten von Groß-/Kleinschreibung?


----------



## AlexD (24. Jun 2015)

Das klein schreiben der Tabelle in PgAdminIII, also anstelle von User --- user


----------

