H2 Syntax fehler beim erstellen einer Tabelle

Cosmicbrain

Mitglied
Hi Folks,

ich beschäftigte mich erst seit kurzem mit Java und wollte nun ein Programm schreiben welches eine Embedded DB hat. nach einigem suchen bin ich hier im Forum auf nen FAQ Thread gestoßen der das anhand von h2 löst und ich hab mich mal selbst dran gesetzt. allerdings bekomme ich nen Fehler und wird nicht schlau draus. hier mal mein Code:

Java:
import java.sql.*;

public class data {
	public static void main(String[] args) {
		Connection con;
		 
		try {
		  //Benutzerspezifische Einstellungen
		  String userDir = System.getProperty("user.home");
		  String databaseName = "rma";
		  String userName = "";
		  String userPswd = "";
		  String filePswd = "";
		  
		  //Datenbanktreiber initialisieren
		  Class.forName("org.h2.Driver").newInstance();
		  
		  //URL fuer Datenbank zusammenbauen und Verbindung oeffnen
		  String databaseUrl = "jdbc:h2:" + userDir + File.separator
		          + databaseName + ";CIPHER=AES";
		  
		  con = DriverManager.getConnection(databaseUrl, userName,
		          filePswd + " " + userPswd);
		  
		  //Erstelle eine Tabelle 'Kunde', sofern noch keine existiert
		  Statement KundeTable = con.createStatement();
		  KundeTable.execute("
		          CREATE TABLE IF NOT EXISTS Kunde(
		          KD_NR INT(10) PRIMARY KEY, 
		          FORENAME VARCHAR(50) NOT NULL, 
		          FAMILYNAME VARCHAR(50) NOT NULL, 
		          )
		  ");
		  KundeTable.close();
		        //Erstelle eine Tabelle 'Hersteller', sofern noch keine existiert
				  Statement HerstellerTable = con.createStatement();
				  HerstellerTable.execute("
				          CREATE TABLE IF NOT EXISTS Hersteller(
				          Hersteller_ID INT(5) auto_increment PRIMARY KEY, 
				          Hersteller enum('Alphapoc', 'Haix', 'Bosch', 'Motorola', 'Kenwood'), 
				          Modell VARCHAR(50) NOT NULL,
				          SN VARCHAR(15) NOT NULL
				          )
				  ");
				  HerstellerTable.close();
		  
		} 
		catch (InstantiationException e1) {
		  e1.printStackTrace();
		} 
		catch (IllegalAccessException e1) {
		  e1.printStackTrace();
		} 
		catch (ClassNotFoundException e1) {
		  e1.printStackTrace();
		} 
		catch (SQLException e1) {
		  e1.printStackTrace();
		}
	}
}

in zeile 27 bekomme ich
Code:
Description	Resource	Path	Location	Type
String literal is not properly closed by a double-quote	data.java	/RMA/src	line 27	Java Problem

in Zeile 37 gehts aber. und noch ne andere Frage, mach ich das so richtig, das die DB "RMA" so angelegt wird???

1000 Dank

Cosmic
 
Zuletzt bearbeitet:
S

SlaterB

Gast
> in Zeile 37 gehts aber

pff, höchstens wird im Moment nicht gemeckert weil der Compiler den Überblick komplett verloren hat,

dein Problem hat nichts mit dem Create-Statement oder JDBC zu tun, der größte Teil deines Codes hilft nicht so sehr,
darauf möglichst achten

wenn du noch nie einen String über mehrere Zeilen geschrieben hast, probiere das doch erstmal in einem einzelnen Testprogramm:
Java:
public class Test2 {
    public static void main(String[] args)  {
       String st = "
       		hallo
       		hallo2
       ";
    }
}
selber Fehler,
in jeder Zeile musst du wie die Fehlermeldung es zumindest andeutet mit " den aktuellen String beenden,
über mehrere Zeilen mit + verbinden, nicht schön, aber Tatsache

http://www.java-forum.org/java-basics-anfaenger-themen/94107-string-ueber-mehrere-zeilen.html

------

interessant an deinem CREATE ist aber immerhin noch, dass du in einem Fall vor der schließenden Klammer noch ein Komma hast,
könnte Probleme machen oder auch nicht
 
Zuletzt bearbeitet von einem Moderator:

Cosmicbrain

Mitglied
vielen dank, so geht's jetzt

Java:
 KundeTable.execute(""+
		          "CREATE TABLE IF NOT EXISTS Kunde("+
		          "KD_NR INT(10) PRIMARY KEY,"+ 
		          "FORENAME VARCHAR(50) NOT NULL,"+
		          "FAMILYNAME VARCHAR(50) NOT NULL)");
		          KundeTable.close();
		        //Erstelle eine Tabelle 'Hersteller', sofern noch keine existiert
				  Statement HerstellerTable = con.createStatement();
				  HerstellerTable.execute(""+
				          "CREATE TABLE IF NOT EXISTS Hersteller("+
				          "Hersteller_ID INT(5) auto_increment PRIMARY KEY, "+
				          "Hersteller enum('Alphapoc', 'Haix', 'Bosch', 'Motorola', 'Kenwood'),"+ 
				          "Modell VARCHAR(50) NOT NULL,"+
				          "SN VARCHAR(15) NOT NULL)");
				  HerstellerTable.close();
 
S

SlaterB

Gast
zu
> mach ich das so richtig, das die DB "RMA" so angelegt wird???
kann ich übrigens nichts sagen, geht in diesem Thema vielleicht unter

wenn es funktioniert, dann hat es vielleicht auch schon geklärt, ich setzte das Thema vorerst auf 'Erledigt'
edit: bzw. da warst du dann wohl schneller ;)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
M MySQL-Syntax-Fehler Datenbankprogrammierung 1
trash ResultSet Syntax Fehler Datenbankprogrammierung 11
M MySQL Error in SQL syntax Datenbankprogrammierung 10
B Inner Join ohne SQL Syntax Datenbankprogrammierung 2
F Java SQL Syntax Error erst nach mehrmaligen Aufrufen Datenbankprogrammierung 3
M Problem mit HQL Syntax Datenbankprogrammierung 5
Cypha JPA Syntax error - falscher Aufbau? Datenbankprogrammierung 3
Kenan89 Fremdschlüssel, korrekte Syntax? Datenbankprogrammierung 2
D Frage zu SQL Syntax Datenbankprogrammierung 17
P [Hibernate] SQL Syntax-Error Datenbankprogrammierung 2
E MySQL 2 Fragen zur Syntax von SQL-Abfragen Datenbankprogrammierung 8
L You have an error in your sql syntax Datenbankprogrammierung 4
R MySQL Syntax für suche nach Textteil Datenbankprogrammierung 8
G Syntax für Select - Abfrage mit Variablen Datenbankprogrammierung 39
T Cast-Fehler: Spring Data exists.... boolean??? Datenbankprogrammierung 1
T compiler fehler: should be mapped with insert="false" update="false" Datenbankprogrammierung 1
O Create Table per JDBC Fehler: ORA-00922 Datenbankprogrammierung 4
H Fehler bei getConnection zu MySQL Datenbank Datenbankprogrammierung 18
S MySQL Hibernate: Fehler bei Verwendung von 2 unterschiedlichen Enumration Datenbankprogrammierung 3
S @OneToMany @JoinTable failed to lazily initialize a collection Fehler Datenbankprogrammierung 2
C Oracle Fehler beim list.add() Datenbankprogrammierung 5
das_leon MySQL Fehler bei der Zeitzone Datenbankprogrammierung 7
M SQL-Statement SQL mit Java, Update Fehler Datenbankprogrammierung 1
L MySQL Bekomme einen Fehler beim ResultSet Datenbankprogrammierung 12
DaCrazyJavaExpert Derby/JavaDB Unfindbarer Fehler im Datenbank-Code Datenbankprogrammierung 87
L SQL Fehler (Table/View does not exist) Datenbankprogrammierung 17
P MySQL JPA / MySQL - Fehler bei type=innoDB Datenbankprogrammierung 8
Thallius MySQL Wo ist der Fehler in dem Query? Datenbankprogrammierung 2
B JPA->fehler beim Insert in die Datenbank Datenbankprogrammierung 3
V Fehler beim Generierung Fehler beim Generierung java.lang.ArrayIndexOutOfBoundsException: 0 Datenbankprogrammierung 12
H HSQLDB Beim öffnen folgender Fehler: ... java.lang.NullPointerException Datenbankprogrammierung 1
Z Finde den Fehler: Daten aus einer Access-Datenbank lesen Datenbankprogrammierung 12
W Jackcess Fehler Datenbankprogrammierung 1
I Fehler bei Ausgabe der Daten aus der DB Datenbankprogrammierung 3
J SQL-Statement Meine insert befehle funktionieren nicht und ich weiß nicht wo der fehler liegt Datenbankprogrammierung 5
serjoscha MySQL Eine Instanz von eigenem DBWrapper -> Fehler durch mehrfachbenutzung möglich? Datenbankprogrammierung 2
M Wo ist mein Fehler ? o: Datenbankprogrammierung 4
T JDBC Fehler Datenbankprogrammierung 2
Neumi5694 Java + MS Access + 64 Bit = Fehler -1073740777 Datenbankprogrammierung 2
T Fehler beim ausgeben von Tabellen Inhalt Datenbankprogrammierung 9
R Fehler 2601 trotz SQL-UPDATE ? Datenbankprogrammierung 2
B JDBC Connection Fehler Datenbankprogrammierung 8
J Fehler bei mySQL Query Datenbankprogrammierung 19
D Oracle PLSQL Block Fehler Datenbankprogrammierung 11
P SQL-Statement Bei meinem Statement ist ein Fehler? Datenbankprogrammierung 2
S Fehler mit JdbcRowSet Datenbankprogrammierung 2
A Oracle Unbekannter Fehler bei insert Befehl Datenbankprogrammierung 3
B MySQL Fehler: Cannot open connection mit Tomcat7, Hibernate und MySQL Datenbankprogrammierung 4
M PL/SQL Fehler "Kein Wert zurückgegeben" Datenbankprogrammierung 4
S 2 Tabellen zu einer zusammenführen, INSERT INTO Fehler Datenbankprogrammierung 5
Crashbreaker MySQL MySQL - Hibernate gibt Fehler aus Datenbankprogrammierung 25
M Access Update Statement Fehler update -> unmöglich? Datenbankprogrammierung 3
I Derby/JavaDB Update Fehler Datenbankprogrammierung 4
N Update Prepared Statement Fehler bei Argumenten Datenbankprogrammierung 3
D JDBC Fehler beim laden der nativen Bibliothek db2jcct2 Datenbankprogrammierung 9
N Oracle Fehler Ungültiges Zeichen Datenbankprogrammierung 2
jgh Zeichensatz-Fehler Datenbankprogrammierung 10
L Derby/JavaDB Fehler beim Erstellen einer Tabelle Datenbankprogrammierung 2
F hsqldb Fehler - unknown source Datenbankprogrammierung 11
E Fehler- Komme nicht auf Datenbank Datenbankprogrammierung 13
trash JDBC Einbinden Fehler Datenbankprogrammierung 9
B Fehler in Stored Procedure Datenbankprogrammierung 7
E [ACCESS ODBC] INSERT INTO Fehler Datenbankprogrammierung 4
E Nach Server wechsel Datenbank fehler ?!? Datenbankprogrammierung 3
H Fehler bei null-Datum in MySQL-DB Datenbankprogrammierung 2
B SQL - Ich kann die Fehler nicht finden Datenbankprogrammierung 3
K DB2 Insert mit Subselect Fehler Datenbankprogrammierung 2
M Update mysql Fehler ?? Datenbankprogrammierung 4
T Fehler im SQL ... Datenbankprogrammierung 8
J Fehler bei Hibernate Configuration Datenbankprogrammierung 9
N group by fehler Datenbankprogrammierung 4
P SQL Fehler helft mir bitte Datenbankprogrammierung 12
F Fehler bei Stored Function Datenbankprogrammierung 2
S Fehler beim Auslesen von Daten Datenbankprogrammierung 6
C Wo ist der Fehler? Datenbankprogrammierung 5
H Fehler mit ". Microsoft Access Driver" Datenbankprogrammierung 12
K Fehler bei Rückgabewerten Datenbankprogrammierung 3
M Statemend Fehler Datenbankprogrammierung 11
H Beim insert bekomme ich den Fehler missing select keyword Datenbankprogrammierung 2
E Seltsamer Fehler Datenbankprogrammierung 10
T Fehler bei Verbindungsaufbau zu MySql DB Datenbankprogrammierung 4
S Fehler bei DB Verbindung Access Datenbankprogrammierung 6
A JDBC-Fehler "Objekt bereits geschlossen" Datenbankprogrammierung 4
O SQL-Query bringt Fehler Datenbankprogrammierung 4
B MySql DELETE Anweisung gibt Fehler zurück Datenbankprogrammierung 7
A Fehler beim Starten des Servers für H2 Database Datenbankprogrammierung 13
A Fehler in der HSQLDB Datenbankprogrammierung 6
B fehler bei select befehl Datenbankprogrammierung 5
G SQL fehler -> woran liegt das? Datenbankprogrammierung 3
M Odbc und Fehler Datenbankprogrammierung 44
M Fehler bei der Verbindung zu einer MSSQL/Express Datenbank! Datenbankprogrammierung 17
D mySQL emullierte PreparedStatements haben Fehler unter Last Datenbankprogrammierung 3
F Fehler in Suns FilteredRowSet Implementierung? Datenbankprogrammierung 11
R Fehler in der Eingabe? Datenbankprogrammierung 3
J Fehler bei Oracle-Datenbankverbindung Datenbankprogrammierung 2
E JDBC Oracle Fehler, zugriff auf datenbank (Cluster) Datenbankprogrammierung 5
P Fehler: result-set zeigt auf null, aber warum Datenbankprogrammierung 4
G Fehler in der select-Abfrage Datenbankprogrammierung 3
G Fehler beim Verbinden Datenbankprogrammierung 4
D Primary-Key -> Fehler: "Unique constraint violation& Datenbankprogrammierung 12

Ähnliche Java Themen

Neue Themen


Oben