Daten aus Textfile mittels Script in eine MySQL Datenbank Importieren schlägt fehl
Nutzen von mysqlimport
Hallo zusammen,
ich verzweifle langsam,
folgendes Problem taucht bei mir auf.
Ich habe eine MySQL Datenbank die 2 mal täglich mit Daten aus meheren Textfiles importiert wird.
So weit so gut. nun damit ich dieses nicht händisch machen muss nutze ich eine Batchdatei die mir die Daten in die MySQL Database importieren soll.
Schwierigkeit 1: Im Textfile befinden sich 5 Zeilen mit überschrifft, die ignoriert werden soll.
Syntax hierfür vermute ich --ignore-lines=5
Schwierigkeit 2: Im Textfile befinden sich mehr Spalten als ich in meiner MySQL Database.
Wie gebe ich hierfür die Syntax an??
Die einzelnen Daten im Textfile sind durch ein Tabulator und am Ende jeder Zeile mittels Zeilenumbruch getrennt.
Bei entsprechender Ausgabe des Vorgangs sehe ich, das die Verbindung zu meiner Tabelle aufgebaut wird, aber keine Daten importiert werden.
Hier mal die Syntax, die ich verwende:
mysqlimport -u USERNAME -pPASSWORT -r --verbose --delete --ignore-lines=6 --fieldsterminated-by=\t --lines-terminated-by=MB\r\n DATABASENAME d:\\daten\\daten.txt >c:\daten_log.txt
Bei einer Datei gelingt mir der Import, jedoch ist die Spaltenanzahl u. -name sowohl in der MySQL Datenbank als auch im Textfile identisch und durch ein Strichpunkt getrennt.
Über jede Hilfe wär ich dankbar.
Danke im voraus
KgFmB
Hallo zusammen,
ich verzweifle langsam,
folgendes Problem taucht bei mir auf.
Ich habe eine MySQL Datenbank die 2 mal täglich mit Daten aus meheren Textfiles importiert wird.
So weit so gut. nun damit ich dieses nicht händisch machen muss nutze ich eine Batchdatei die mir die Daten in die MySQL Database importieren soll.
Schwierigkeit 1: Im Textfile befinden sich 5 Zeilen mit überschrifft, die ignoriert werden soll.
Syntax hierfür vermute ich --ignore-lines=5
Schwierigkeit 2: Im Textfile befinden sich mehr Spalten als ich in meiner MySQL Database.
Wie gebe ich hierfür die Syntax an??
Die einzelnen Daten im Textfile sind durch ein Tabulator und am Ende jeder Zeile mittels Zeilenumbruch getrennt.
Bei entsprechender Ausgabe des Vorgangs sehe ich, das die Verbindung zu meiner Tabelle aufgebaut wird, aber keine Daten importiert werden.
Hier mal die Syntax, die ich verwende:
mysqlimport -u USERNAME -pPASSWORT -r --verbose --delete --ignore-lines=6 --fieldsterminated-by=\t --lines-terminated-by=MB\r\n DATABASENAME d:\\daten\\daten.txt >c:\daten_log.txt
Bei einer Datei gelingt mir der Import, jedoch ist die Spaltenanzahl u. -name sowohl in der MySQL Datenbank als auch im Textfile identisch und durch ein Strichpunkt getrennt.
Über jede Hilfe wär ich dankbar.
Danke im voraus
KgFmB
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 36766
Url: https://administrator.de/forum/daten-aus-textfile-mittels-script-in-eine-mysql-datenbank-importieren-schlaegt-fehl-36766.html
Ausgedruckt am: 15.04.2025 um 15:04 Uhr
3 Kommentare
Neuester Kommentar
Moin KgFmB*,
a) versuch es mal mit "--fields-terminated-by=... " statt "--fieldsterminated-by=... "
b) Übernehmen nur der Spalten, die du auch in deiner Datentabelle hast.
Parameter dafür ist "... --columns=Feld3,Feld7,Feld9 .."
Würde interpretiert werden als:
...->aus der Text/Quelldatei werden
...das erste durch Delimiter getrennte Feld in dein DB-Feld "Feld3" geschrieben
..das zweite ... in das Feld "Feld7"
..das dritte in "Feld9"
c) Dem ignore-lines-Parameter würde ich keine Schuld daran geben, wenn es nicht klappt.
Der sieht für mich okay aus.
HTH Biber
*zu "KgFmB": gibt es da eine Kurzform oder ist das schon der Kosename?
a) versuch es mal mit "--fields-terminated-by=... " statt "--fieldsterminated-by=... "
b) Übernehmen nur der Spalten, die du auch in deiner Datentabelle hast.
Parameter dafür ist "... --columns=Feld3,Feld7,Feld9 .."
Würde interpretiert werden als:
...->aus der Text/Quelldatei werden
...das erste durch Delimiter getrennte Feld in dein DB-Feld "Feld3" geschrieben
..das zweite ... in das Feld "Feld7"
..das dritte in "Feld9"
c) Dem ignore-lines-Parameter würde ich keine Schuld daran geben, wenn es nicht klappt.
Der sieht für mich okay aus.
HTH Biber
*zu "KgFmB": gibt es da eine Kurzform oder ist das schon der Kosename?