# kann keiner Tabellen erzeugen



## Eljamiela (28. Jun 2007)

Hallo,

Ich habe einer lokale Datenbank angerichtet postgresql-8.2.4.1 und den treiber runtergeladen:
Meiner Verbindungdaten sehen wie folgt:


```
String driverName = "org.postgresql.Driver";
			String dbURL = "jdbc:postgresql://localhost/postgres";
			String name = "postgres";
			String pass = "pass";
			Class.forName(driverName);
```

Mein Problem sieht jetzt wie folgt: Wenn ich mein Code kompiliere und Tabellen erzeuge dann bekomme ich den Hinweis das die in der Datenbank vorhanden sind, öffne ich meiner Datenbank finde ich die Tabellen nicht die ich erzeugt habe!

versteht ihr was ich meine  ???:L    

Ich bin für eure Hilfe dankbar


----------



## SlaterB (28. Jun 2007)

hälst du es für ausgeschlossen, dass es an dem Code liegt, mit dem du Tabellen erzeugst
oder warum postest du den nicht?

würde mich mal interessieren, wie das mit JDBC funktioniert


----------



## Eljamiela (28. Jun 2007)

eingentlich ich halte es für ausgeschlossen das es an mein Code liegt weil ich es auch angewandet habe an einer andere Datenbank die nicht Lokal war und es hat sehr gut gekalppt, 
ich mache mir sorgen um die Verbindungsdaten, villeicht liegt es dort! Aber hier noch einmal den ganzen COde:




```
mport java.util.*;
import java.sql.*;
import java.text.*;

/**
 * Dieser Klasse hält Methoden bereit für die Verbindung und die Schliessung mit
 * der Datenbank, den einfügen, löschen und die erstmalige Generierung sowie den
 * Update und andere wichtigen Methoden.
 */

public class DBManager {

	Connection conn;

	public PreparedStatement sqlStatement;

	public ResultSet rs = null;

	GregorianCalendar cal = new GregorianCalendar();

	DateFormat df = DateFormat.getDateInstance(DateFormat.SHORT);

	String datum = df.format(cal.getTime());

	public Connection getConnection() {
		try {
			return this.conn;
		} catch (Exception e) {
			System.out.println("Error in  " + e);
		}
		return null;
	}
	public void createTable(String tableName, String attributes) {
		try {

			Statement st = this.getConnection().createStatement();
			st.execute("CREATE TABLE " + tableName + " (" + attributes + ")");
		} catch (Exception e) {
			System.out
					.println("Error in DBManager.createTable(tableName, attributes):\n"
							+ tableName + "\n" + e);
		}
	}

	/**
	 * Erzeugt alle Relationen von der Datenbank.
	 */

	public void createDatenbank() {
		try {

			createTable("Webserver", "Name VARCHAR(600) NOT NULL, "
					+ "Datum DATE NOT NULL, "
					+ "Kommentar VARCHAR(2000) NOT NULL, "
					+ "PRIMARY KEY (Name)");
			createTable("Datenbank", "ID CHAR(10) NOT NULL, "
					+ "Link VARCHAR(300) UNIQUE NOT NULL, "
					+ "Kommentar VARCHAR(2000), " + "PRIMARY KEY (ID)");

			createTable("Pfad", "ID CHAR(10) NOT NULL, "
					+ "GlobalPfad VARCHAR(2000) NOT NULL, "
					+ "LokalPfad VARCHAR(2000) NOT NULL, "
					+ "Dateiname VARCHAR(2000) NOT NULL, "
					+ "Endung VARCHAR(600) NOT NULL, "
					+ "Zugehoerigkeit VARCHAR(60) NOT NULL, "
					+ "Existiert BOOL NOT NULL, " + "Datum DATE, "
					+ "PRIMARY KEY (ID)");
			createTable("PDF", "Name VARCHAR(60) NOT NULL, "
					+ "Titel VARCHAR(60) NOT NULL, "
					+ "Autor VARCHAR(250) NOT NULL, "
					+ "Zusammenfassung VARCHAR(7000), "
					+ "Status BOOL NOT NULL, " + "Art VARCHAR(50) NOT NULL, "
					+ "Datenbank CHAR(10) NOT NULL, "
					+ "Webserver VARCHAR(600) NOT NULL, "
					+ "PRIMARY KEY (Name), "
					+ "CONSTRAINT FK_PDF_1 FOREIGN KEY (Datenbank) "
					+ " REFERENCES Datenbank (ID), "
					+ "CONSTRAINT FK_PDF_2 FOREIGN KEY (Webserver) "
					+ " REFERENCES Webserver (Name)");

			createTable("Bilder", "Name VARCHAR(60) NOT NULL, "
					+ "Hoehe CHAR(10) NOT NULL, "
					+ "Breite CHAR(10) NOT NULL, " + "Seite CHAR(4), "
					+ "Zustand BOOL NOT NULL, " + "Thumpnail BOOL NOT NULL, "
					+ "PDF VARCHAR(60) NOT NULL, " + "PRIMARY KEY (Name), "
					+ "CONSTRAINT FK_Bilder_1 FOREIGN KEY (PDF) "
					+ "REFERENCES PDF (Name)");
			createTable("html", "Name VARCHAR(60) NOT NULL, "
					+ "Version CHAR(5), " + "Zustand BOOL NOT NULL, "
					+ "PDF VARCHAR(60) NOT NULL, " + "PRIMARY KEY (Name), "
					+ "CONSTRAINT FK_html_2 FOREIGN KEY (PDF) "
					+ "REFERENCES PDF (Name)");

		} catch (Exception e) {
			System.out.println("Error in DBManager.createDatenbank(): " + e);
		}
	}


	/**
	 * Nimmt die Verbindung mit der Datenbank auf.
	 */

	public void connectDB() {

		try {
			
			String driverName = "org.postgresql.Driver";
			String dbURL = "jdbc:postgresql://localhost/hallo";
			String name = "postgres";
			String pass = "pass";
			
			Class.forName(driverName);
			
			this.conn = DriverManager.getConnection(dbURL, name, pass);
			getConnection();
			


		} catch (SQLException sqle) {
			System.out
					.println("S: "
							+ sqle + "\n" + ((SQLException) sqle).getSQLState());
		} catch (Exception e) {
			System.out
					.println("pass): "
							+ e);
		}
	}

	/**
	 * Schließt die Verbindung zur Datenbank. Die Instanzvariable conn
	 * (Connection) der Klasse DBManager wird auf "null" gesetzt.
	 */

	public void closeDB() {

		try {
			if (!this.conn.isClosed()) {
				this.conn.close();
				this.conn = null;
			}
		} catch (Exception e) {
			System.out.println("Error in DBManager.closeDB(): " + e);
		}
	}

	public DBManager() {
		this.conn = null;
	}
}
```


----------



## Eljamiela (28. Jun 2007)

Ich habe jetzt mit der anderen Datenbank getestet und es funktioniert nicht liegt es an Eclipse?? Ich benutze ein treiber postgresql-8[1].1-404.jdbc3.jar 
den ich angebunden habe indem ich den Classpath angegeben habe Project/ Java Build Path/Libraries --> Add JARS

Ich weiss nicht weiter, hat jemanden von euch ein Tipp


----------



## Yzebär (28. Jun 2007)

Vielleicht mußt du eine Datenbank im Verbindungsstring angeben? Bisher hast du nur den DB-Server angegeben.


----------



## Eljamiela (28. Jun 2007)

Was meinst du denn mit "Verbindungsstring" ?


----------



## HoaX (28. Jun 2007)

mit würde in erster linie mal die fehlermeldung interessieren ...


----------

