# JDBC Fehler



## T7V (29. Jan 2013)

Hi,
ich möchte via JDBC SQL-Statements auf eine DB2 Datenbank anwenden.
Zuerst möchte ich ein paar Tabellen erstellen. Bereits bei der ersten erhalte ich eine Fehlermeldung.
Der Fehler wird immer bei 
	
	
	
	





```
stmt.executeUpdate(exe);
```
 ausgegeben. An der Stelle habe ich  auch schon verschiedenes ausprobiert (bsp. nur execute statt executeUpdate).
Ich verstehe einfach nicht wo der Fehler liegt und die Ausgabe hilft mir da auch nicht weiter... ;(
Kann mir hier bitte jemand weiterhelfen?

Code:

```
try{	
			
			String exe = "CREATE TABLE participations (actor VARCHAR(100) NOT NULL, movie VARCHAR(400) NOT NULL," +
			" movie_title VARCHAR(400) NOT NULL, PRIMARY KEY(actor, movie));";
			
			Statement stmt = con.createStatement();
			stmt.executeUpdate(exe);
			
			stmt.close();
             
		}catch(Exception e){
			System.out.println("Error Table 1  ");
			e.printStackTrace();
		}
```
Fehler:

```
com.ibm.db2.jcc.am.mo: DB2 SQL Error: SQLCODE=-104, SQLSTATE=42601, SQLERRMC=;;Y KEY(actor, movie));END-OF-STATEMENT, DRIVER=4.7.85
	at com.ibm.db2.jcc.am.dd.a(dd.java:676)
	at com.ibm.db2.jcc.am.dd.a(dd.java:60)
	at com.ibm.db2.jcc.am.dd.a(dd.java:127)
	at com.ibm.db2.jcc.am.nm.c(nm.java:2493)
	at com.ibm.db2.jcc.am.nm.d(nm.java:2470)
	at com.ibm.db2.jcc.am.nm.b(nm.java:1890)
	at com.ibm.db2.jcc.t4.db.h(db.java:220)
	at com.ibm.db2.jcc.t4.db.b(db.java:46)
	at com.ibm.db2.jcc.t4.t.b(t.java:38)
	at com.ibm.db2.jcc.t4.sb.g(sb.java:114)
	at com.ibm.db2.jcc.am.nm.fb(nm.java:1885)
	at com.ibm.db2.jcc.am.nm.a(nm.java:2886)
	at com.ibm.db2.jcc.am.nm.c(nm.java:679)
	at com.ibm.db2.jcc.am.nm.executeUpdate(nm.java:663)
	at AufgabeA.Statement1(AufgabeA.java:76)
	at AufgabeA.createTables(AufgabeA.java:29)
	at AufgabeA.<init>(AufgabeA.java:20)
	at Main.main(Main.java:10)
```


----------



## anti-held (29. Jan 2013)

versuchs mal ohne dem semikolon im statement.


----------



## T7V (29. Jan 2013)

Danke, das funktioniert.


----------

