ich möchte Daten über ein SQL Statment direkt in die Datenbanken importieren.
Es geht um Postleitzahlen
Dabei habe ich eine Textdatei welche wie folgt aufgebaut ist
Land;Bundesland;Ort;Plz usw.
Mit folgendem Code importiere ich die Daten.
Funktioniert auch.
Jetzt habe ich versucht eine Fehlerhafte Textdatei zu importieren.
Da steigt mir Lazurus aus und es kommt gar nicht zur Fehlerbehandlung
Was mache ich an dieser Stelle falsch.. Bin leicht am verzweifeln
Code: Alles auswählen
try
try
// Neue Daten importieren
Xpfad := SQL_PFAD.text;
XAuswahl1 := Auswahl1.text;
XAuswahl2 := Auswahl2.text;
XAuswahl3 := Auswahl3.text;
XAuswahl4 := Auswahl4.text;
XAuswahl5 := Auswahl5.text;
SQLString := 'LOAD DATA LOCAL INFILE '''+Xpfad+''' ';
SQLString := SQLString + ' REPLACE';
SQLString := SQLString + ' INTO TABLE STAMM_PLZ_IMPORT';
SQLString := SQLString + ' CHARACTER SET utf8';
SQLString := SQLString + ' FIELDS';
SQLString := SQLString + ' TERMINATED BY '';'' ';
SQLString := SQLString + ' OPTIONALLY ENCLOSED BY ''"'' ';
SQLString := SQLString + 'IGNORE 1 LINES';
SQLString := SQLString + ' ('+XAuswahl1+','+XAuswahl2+','+XAuswahl3+','+XAuswahl4+','+XAuswahl5+')';
Frm_A_MAIN_HAUPTMENU.SQLQuery1.Close;
Frm_A_MAIN_HAUPTMENU.SQLQuery1.SQL.Clear;
Frm_A_MAIN_HAUPTMENU.SQLQuery1.SQL.Add(SQLString);
Frm_A_MAIN_HAUPTMENU.SQLQuery1.ExecSQL;
Frm_A_MAIN_HAUPTMENU.SQLTransaction1.Commit;
except
on e: Exception do begin
MessageDLG('Fehler!. Die Datei ist leider nicht importfähig?'+#13+e.message,mtError,[mbOk],0);
exit;
end;
end;
finally
Frm_A_MAIN_HAUPTMENU.SQLQuery1.Close;
end;