Hallo,
ich versuche eine csv-Datei auszulesen und in eine MySQL-Datenbank zu schreiben., dazu verwende ich den JDBC-Treiber.
Die csv-Datei sieht etwa so aus:
Der Zeitpunkt wird bei mir ein einem joda-DateTime-Objekt gehalten. In der MySQL-Tabelle ist der Datentype der Spalte ebenfalls DATETIME.
Wenn ich nun die Daten mittels
einfügen möchte, bekomme ich immer folgenden Fehler
Geb ich das Statement aber über phpMyAdmin ein, speichert er mir Daten ohne Probleme. Eine falsche Formatierung des DateTime-Objektes ist also nicht gegeben.
Ich habe jetzt schon gesucht, aber konnte das Problem nicht beheben. Vielleicht hat ja jemand von euch eine Idee.
ich versuche eine csv-Datei auszulesen und in eine MySQL-Datenbank zu schreiben., dazu verwende ich den JDBC-Treiber.
Die csv-Datei sieht etwa so aus:
Code:
2011-07-31 08:00:00;0.00;
2011-07-31 09:00:00;12.50;
2011-07-31 10:00:00;37.50;
Der Zeitpunkt wird bei mir ein einem joda-DateTime-Objekt gehalten. In der MySQL-Tabelle ist der Datentype der Spalte ebenfalls DATETIME.
Wenn ich nun die Daten mittels
Java:
String sql = "INSERT INTO testdata(key, value) VALUES('"+tmpDate.toString(dtf) +"'," + tmpValue +");";
query.executeUpdate(sql);
Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'key, value) VALUES('2011-07-31 01:00:00',0.00)' at line 1
Geb ich das Statement aber über phpMyAdmin ein, speichert er mir Daten ohne Probleme. Eine falsche Formatierung des DateTime-Objektes ist also nicht gegeben.
Ich habe jetzt schon gesucht, aber konnte das Problem nicht beheben. Vielleicht hat ja jemand von euch eine Idee.