Hallo Liste wie kann ich eine txt datei in mysql automatisch füllen der dateiinahlt sieht in in etwas folgt aus: 3434324^34134432^fdsgfdg^text1^text2^text3^-^-^- zu beachten ist das das zeichen ^ sozusagen der platzhalter ist. nach jedem ^ beginnt die nächste tabelle die - zeichen bedeuten das die tabelle leer ist das skript muss einmal mittag ablaufen und einmal nachts wer hat hierzu ideen grüsse juergen
Nachtrag: Der wert kann auch folgendermassen aussehen Text 12-34-45
-----Ursprüngliche Nachricht----- Von: Juergen L. [mailto:tablette@gmx.net] Gesendet: Dienstag, 27. Dezember 2005 00:19 An: Suse-Liste Betreff: Mysql füllen
Hallo Liste
wie kann ich eine txt datei in mysql automatisch füllen der dateiinahlt sieht in in etwas folgt aus:
3434324^34134432^fdsgfdg^text1^text2^text3^-^-^-
zu beachten ist das das zeichen ^ sozusagen der platzhalter ist. nach jedem ^ beginnt die nächste tabelle die - zeichen bedeuten das die tabelle leer ist
das skript muss einmal mittag ablaufen und einmal nachts
wer hat hierzu ideen grüsse juergen
Hallo, ich würde ein php skript erstellen, das diese textdateien einliest, verarbeitet und dementsprechend danach alles in die DB schreibt. Und per cronjob dann das ganze zu den gewünschten zeiten ausführen. Gruß Am Dienstag, 27. Dezember 2005 00:28 schrieb Juergen L.:
Nachtrag: Der wert kann auch folgendermassen aussehen Text 12-34-45
-----Ursprüngliche Nachricht----- Von: Juergen L. [mailto:tablette@gmx.net] Gesendet: Dienstag, 27. Dezember 2005 00:19 An: Suse-Liste Betreff: Mysql füllen
Hallo Liste
wie kann ich eine txt datei in mysql automatisch füllen der dateiinahlt sieht in in etwas folgt aus:
3434324^34134432^fdsgfdg^text1^text2^text3^-^-^-
zu beachten ist das das zeichen ^ sozusagen der platzhalter ist. nach jedem ^ beginnt die nächste tabelle die - zeichen bedeuten das die tabelle leer ist
das skript muss einmal mittag ablaufen und einmal nachts
wer hat hierzu ideen grüsse juergen
-- ======================= Alexander Dillhöfer Bruchwiesenstrasse 18 66125 Dudweiler Mobil: 0176 - 23369653
Hallo Juergen, wenn du kannst wuerde ich das von dem Programm erledigen lassen das dir die Daten erzeugt, fur MySQL gibt es fuer viele Sprachen eine anbindung an die Datenbank. Fals das nicht moeglich ist kannst du eine Spache deiner Wahl nehmen php, perl, c oder ein shell script (awk,sed und mysql) das dir die Daten importiert. Haengt davon ab was du erreichen möchtest. Sind zb die Daten immer neu oder gibt es updates? Gruss Patrick Marc Juergen L. wrote:
Nachtrag: Der wert kann auch folgendermassen aussehen Text 12-34-45
-----Ursprüngliche Nachricht----- Von: Juergen L. [mailto:tablette@gmx.net] Gesendet: Dienstag, 27. Dezember 2005 00:19 An: Suse-Liste Betreff: Mysql füllen
Hallo Liste
wie kann ich eine txt datei in mysql automatisch füllen der dateiinahlt sieht in in etwas folgt aus:
3434324^34134432^fdsgfdg^text1^text2^text3^-^-^-
zu beachten ist das das zeichen ^ sozusagen der platzhalter ist. nach jedem ^ beginnt die nächste tabelle die - zeichen bedeuten das die tabelle leer ist
das skript muss einmal mittag ablaufen und einmal nachts
wer hat hierzu ideen grüsse juergen
* Juergen L. wrote on Tue, Dec 27, 2005 at 00:18 +0100:
wie kann ich eine txt datei in mysql automatisch füllen der dateiinahlt sieht in in etwas folgt aus: 3434324^34134432^fdsgfdg^text1^text2^text3^-^-^-
Ist sie kleiner als ein paar MB?
zu beachten ist das das zeichen ^ sozusagen der platzhalter ist. nach jedem ^ beginnt die nächste tabelle
Tabelle? Meinst Du Spalte?
das skript muss einmal mittag ablaufen und einmal nachts wer hat hierzu ideen
Falls mySQL kein tab-seperarierte Files lesen kann, könnte man das nach SQL "reformatieren", beispielsweise mit einer perl pipe. Ich hab das mal als Script gemacht; eigentlich ginge fast ein Einzeiler, aber mit der Shell-quoterei... na ja. Also z.B. sowas wie: steffen@link:~> cat x2.pl #!/usr/bin/perl # STDIN lesen while (<>) { # "\n" am Ende weg chomp; # split (-a würde das \n im letzten haben) @F = split('\^'); # SQL Statement erzeugen print "INSERT INTO mytable VALUES ('" . join("', '", @F) . "');\n"; } steffen@link:~> echo "3434324^34134432^fdsgfdg^text1^text2^text3^-^-^-" \ | ./x2.pl INSERT INTO mytable VALUES ('3434324', '34134432', 'fdsgfdg', 'text1', 'text2', 'text3', '-', '-', '-'); Ist so natürlich nicht zu gebrauchen; als erstes sollte wohl ein "begin;" geprinted werden, am Ende ein "commit;" falls kein Fehler auftrat (falls mySQL das inzwischen kann, keine Ahnung), vielleicht noch ein "delete from mytable;" davor, falls Datensätze doppelt werden können etc. <sidenote> IMHO nicht so gut "mit schnell mal gemacht", und was schnell mal gemacht ist, braucht selten eine SQL Datenbank :) </sidenote> oki, Steffen -- Dieses Schreiben wurde maschinell erstellt, es trägt daher weder Unterschrift noch Siegel.
participants (4)
-
Alexander Dillhöfer
-
Juergen L.
-
Patrick Marc Preuss
-
Steffen Dettmer