# Postgresql



## Guest (12. Jun 2007)

Hallo,

ich habe weder mit Java noch mit Datenbanken Erfahrungen, doch werde ich es in absehbarer Zeit damit zu tun bekommen. Aus diesem Grund habe ich ein paar Fragen.

Auf der Postgresql Seite steht, dass die Installation des Treibers eine pure Jave Typ IV installation ist. Wohin also mit dem .jar File? In welches Verzeichnis wird dieses kopiert?

Wenn ich das richtig verstehe (noch ist das Postgresql buch nicht da), ist die Datenbank glecihzeitig der Server und der Treiber stellt die VErbindung zwischen diesem und eventuellen Javaprogrammen.

Was muss ich noch wichtiges wissen für den Einstieg. Allgemeine Bücher zu Java habe ich schon und das Postgresql Buch ist unterwegs.

Danke für euere Antworten und Vorschläge.


----------



## HoaX (12. Jun 2007)

Anonymous hat gesagt.:
			
		

> Hallo,
> Auf der Postgresql Seite steht, dass die Installation des Treibers eine pure Jave Typ IV installation ist. Wohin also mit dem .jar File? In welches Verzeichnis wird dieses kopiert?



Es ist keine Installation sondern ein Treiber. Das ding wird einfach in den Classpath deiner Anwendung eingebunden - hüte dich ihn nach JAVA_HOME/lib/ext zu kopieren, wie es oftmals falsch zu lesen ist! Was ein Classpath ist kannst du jedem Einstagerbuch/Tutorial/Oder wie auch immer du Java lernen wirst entnehmen können. Ich persönlich hab für benötigte Bibliotheken immer ein Verzeichnis "lib" innerhalb meines Projekts.




			
				Anonymous hat gesagt.:
			
		

> Wenn ich das richtig verstehe (noch ist das Postgresql buch nicht da), ist die Datenbank glecihzeitig der Server und der Treiber stellt die VErbindung zwischen diesem und eventuellen Javaprogrammen.



Was meinst du mit "gleichzeitig"? Postgresql ist eine Datenbank. Was soll es denn sonst noch sein? Der Treiber bietet dir die Möglichkeit über die Standard-Datenbankschnittstelle von Java mit der Datenbank zu kommunizieren. Welcher Treiber nun verwendet wird, Mysql/Msql/H2/Postgre/..., wird deine Anwendung an sich kaum merken.



			
				Anonymous hat gesagt.:
			
		

> Was muss ich noch wichtiges wissen für den Einstieg. Allgemeine Bücher zu Java habe ich schon und das Postgresql Buch ist unterwegs.



Tutorials zu JDBC gibt wie sand am Meer - mit ein bisschen Verstand kann man die auf jede Datenbank mit JDBC-Treibern anwenden. Wenn du sonst noch nie (oo) programmiert hast bleibt nur eines zu sagen: üben, üben, üben! Ansonsten sollte Java keine allzu große Herausforderung werden.

Viel Spaß mit Java =)


----------



## Guest (13. Jun 2007)

Danke für die Antwort.
Ich arbeite mit Eclipse und habe mich an die Tutorials gewagt.

Den Classpath habe ich über properties des Projekts -> java build path -> add Variable / add external jar gesetzt. 


```
import java.sql.*;

public class Postgres {
	Class.forName("org.postgresql.Driver");
	String url = "jdbc:postgresql://localhost:5432/postgre";
	Connection db = DriverManager.getConnection(url, "name", "pass");
}
```

Ich bekomme keine Exception also hat er den Treiber gefunden. Syntax errors bekomme ich aber bei Class.forName...
Kann mir einer erklären warum? Dieser Befehl steht genauso in den Tutorials. Was mache und verstehe ich falsch. Danke euch.[/code]


----------



## Guest (13. Jun 2007)

```
import java.sql.*;

public class Postgres {
	
public static void main(String[] args) {
	
	try {
	    Class.forName("org.postgresql.Driver");
	} catch(Exception ex) {
	    System.out.println("Can't find Database driver class: " + ex);
	    return;
	}
	
	String url = "jdbc:postgresql://localhost:5432/postgre";

	try {
	    Connection con = DriverManager.getConnection(url, "postgre", "nemesis");
	} catch(SQLException ex) {
	    System.out.println("SQLException: " + ex);
	}	
	
	System.out.println("PostgreSQL!");

	}

}
```

Nun funktioniert der Code. Doch ausser ein paar try and catch Exception Blöcke sehe ich keine Gross Veränderung. Warum funktioniert aber dieser code und der obere nicht?[/quote]


----------



## Guest (13. Jun 2007)

OK ich sehe, dass die Statements nur im main Block stehen dürfen. Ich müsste also den Class.forName... Teil in eine Methode oder eine andere Klasse packen die dann in der main aufgerufen wird. Naja... bin noch am lernen. Danke für eueren Input.


----------



## Guest (13. Jun 2007)

Meine erste Tabelle in eine PostgreSQL Datenbank angelegt und updated... Läuft wunderbar.


----------

