N
Nessrin
Gast
Hallo allerseits ,
Ich möchte csv datein einlesen und in meiner Datenbank speichern,
Ich habe folgendes Problem es bricht vorzeitig ab und speichert die Daten nicht in der Datenbank, Ich bekomme folgenden Fehler,
java.sql.BatchUpdateException: Batch-Eintrag 0 CREATE TABLE csvimport
Kann jemanden mir bitte helfen ???:L ,
Mein Code sieht wie folgt aus
Schöne Grüße
Ich möchte csv datein einlesen und in meiner Datenbank speichern,
Ich habe folgendes Problem es bricht vorzeitig ab und speichert die Daten nicht in der Datenbank, Ich bekomme folgenden Fehler,
java.sql.BatchUpdateException: Batch-Eintrag 0 CREATE TABLE csvimport
Kann jemanden mir bitte helfen ???:L ,
Mein Code sieht wie folgt aus
Code:
public class CSV {
String datei = "datei.csv";
String trennzeichen = ";";
String ersatzzeichen = "#####";
public Manager datenbank = new Manager();
public CSV() {
try {
datenbank.connectDB();
RE trenner = new RE(trennzeichen);
RE ersatz = new RE(ersatzzeichen);
Connection c = datenbank.getConnection();
Statement s = c.createStatement();
BufferedReader in = new BufferedReader(new FileReader(datei));
String zeile = in.readLine();
String[] spalten = trenner.split(zeile);
try { s.execute("DROP TABLE csvimport"); } catch(Exception ex) {}
String neu = "CREATE TABLE csvimport (";
String sql = "INSERT INTO csvimport(";
for (int i = 0; i < spalten.length; i++) {
neu += spalten[i] + " CHAR(1000)";
sql += spalten[i];
if (i != spalten.length - 1 ) { neu += ","; sql += ","; }
}
neu += ")";
sql += ") VALUES(";
for (int i = 0; i < spalten.length; i++) {
sql += "'" + ersatzzeichen + "'";
if (i != spalten.length - 1 ) sql += ",";
}
sql += ")";
System.out.println(neu);
c.setAutoCommit(false);
s.addBatch(neu);
while ((zeile = in.readLine()) != null) {
spalten = trenner.split(zeile);
String sqli = sql;
for (int i = 0; i < spalten.length; i++) {
sqli = ersatz.subst(sqli, spalten[i], RE.REPLACE_FIRSTONLY);
}
s.addBatch(sqli);
System.out.println(sqli);
}
int[] udc = s.executeBatch();
c.commit();
datenbank.closeDB();
System.out.print("Update Counts");
for (int i = 0; i < udc.length; i++) System.out.print(" ICH binnnnnn" + udc[i]);
}
catch (Exception ex) { ex.printStackTrace(); }
}
public static void main(String[] args) throws Exception {
new CSV();
}
}
Schöne Grüße