SQLExcpetion

Status
Nicht offen für weitere Antworten.

rapthor

Bekanntes Mitglied
Das hier wirft mir eine SQLException, obwohl ich eigentlich alles so gemacht habe, dass es funktionieren sollte. Woran kann das liegen? Habe mal getestet und bin zum Schluss gekommen, dass diese Exception das erste Mal mit der Zeile

stmt.execute("DROP TABLE ADRESSEN");

geworfen wird.


Code:
	Connection con = null;
	
	// Verbindung aufbauen
	String URL="jdbc:odbc:Adressen";
	String username = "";
	String password = "";
	
	// Treiber laden
	try {
	Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
	
	//Verbindung zu ODBC herstellen
	con = DriverManager.getConnection(URL,username,password);
	
	//Tabelle erstellen
	Statement stmt = con.createStatement();
		
	//SQL Exception wird hierbei geworfen
	stmt.execute("DROP TABLE ADRESSEN");
	stmt.execute("CREATE TABLE ADRESSEN (Name VARCHAR (50), Nr INTEGER CONSTRAINT" + "Nr PRIMARY KEY)");
		
	// Einträge einfügen
	stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr Knast', 23)");
	stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr JVA', 24)");
	stmt.executeUpdate("INSERT INTO ADRESSEN VALUES ('Herr Arbeitslager', 25)");
	
	
	// Einträge anzeigen
	ResultSet rs = stmt.executeQuery("SELECT * FROM ADRESSEN");
		while (rs.next()) {
			String Name = rs.getString("Name");
			int Nr = rs.getInt("Nr");
			eintrag.setText("Name:" + Name + "Nr: " + Nr + "\n");
		}
		
	// Datenbank schließen
	con.close();
		
	}
	catch (SQLException sqle) {
		System.out.println("SQL Exception while trying to open/create ODBC DB!");
	}
	catch (ClassNotFoundException cnf){
		System.out.println("Class not found while trying to open DBASE!");
	}

Ich habe in Windows XP unter Verwaltung eine Datenbank mit dem Treiber "Microsoft Access-Treiber (*.mdb)" erstellt und sie "Adressen.mdb" genannt. Diese mdb-Datei befindet sich im gleichen Verzeichnis, wie mein Quellcode.

Wo kann mein Fehler liegen?
 
R

Rapthor83

Gast
Hier ist ein printStackTrace der Exception:

java.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntaxfehler in CREATE TABLE-Anweisung.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.standardError(Unknown Source)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(Unknown Source)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(Unknown Source)
at TextEdit.open_dbase(TextEdit.java:1159)
at TextEdit$24.actionPerformed(TextEdit.java:421)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
 

rapthor

Bekanntes Mitglied
Ups, hab den Fehler entdeckt ... lag natürlich an meinem SQL-Befehl selbst. Falsche Syntax, hätte ich gleich mal printStackTrace() machen sollen :oops:
 
Status
Nicht offen für weitere Antworten.

Neue Themen


Oben