Hallo,
ich bin schon die letzten Tage am verzweifeln....
Ich habe eine MySql Datenbank, dort sollen Produktdaten gespeichert werden.
Ich habe eine Textdatei in der die Befehle stehen.
Hier ein Auszug aus der Datei "Befehle.txt":
..
INSERT INTO produkte.produktliste (HAN) SELECT * FROM (SELECT 'VFY:LT2R2XF021IN') AS tmp WHERE NOT EXISTS ( SELECT HAN FROM produkte.produktliste WHERE HAN='VFY:LT2R2XF021IN') LIMIT 1;
UPDATE produkte.produktliste SET Bestand_I='0', Preis_I='3302.90', Beschreibung_I='ETERNUS LT S2 RoHSLaufwerk LTO6 Half-HightVerarbeitung von LTO 5 und LTO 6 Datenträger (wr/rd), LTO-4 Datenträger (rd)Schnittstelle SAS 6 Gb/s, SFF8088 Anschluss', Angebotspreis_I='0,00' , Bild_I='' , HAN='VFY:LT2R2XF021IN' , SKU_I='845641' , Kategorie_I='Storage' WHERE HAN='VFY:LT2R2XF021IN';
...
Dahinter folgen weitere Statements, mehr als 100.000 die genau so aufgebaut sind. Wenn ich diese manuell in MySQL ausführe funktionieren Sie auch perfekt, wenn ich sie aber aus der Windows Konsole ausführe bricht der gespeicherte Wert ab einem Umlaut einfach ab. So wird aus "Zubehör" einfach "Zubeh", das Script läuft aber normal weiter.
Mein Batch Befehl ist:
"%Pfad%\mysql.exe" %user% %server% %password% -e "source Befehle.txt"
Ich denke mal es hat etwas mit dem charset, entweder in Batch oder in MySQL zu tun, ich habe schon vieles in die Richtung probiert, bin aber zu keiner Lösung gekommen. Das Charset meiner Datenbank ist UTF-8. Wie schon oben geschrieben, ist meine Datenbank auch durchaus in der Lage die Umlaute darzustellen, da alles korrekt funktioniert wenn ich die Befehle direkt über HeidiSQL ausführe.
Weiß Jemand wie ich die Textdatei mit Batch so ausführen kann, dass die Sonderzeichen korrekt in MySQL übernommen werden?
Für Hilfe wäre ich sehr dankbar.
Chimera16
ich bin schon die letzten Tage am verzweifeln....
Ich habe eine MySql Datenbank, dort sollen Produktdaten gespeichert werden.
Ich habe eine Textdatei in der die Befehle stehen.
Hier ein Auszug aus der Datei "Befehle.txt":
..
INSERT INTO produkte.produktliste (HAN) SELECT * FROM (SELECT 'VFY:LT2R2XF021IN') AS tmp WHERE NOT EXISTS ( SELECT HAN FROM produkte.produktliste WHERE HAN='VFY:LT2R2XF021IN') LIMIT 1;
UPDATE produkte.produktliste SET Bestand_I='0', Preis_I='3302.90', Beschreibung_I='ETERNUS LT S2 RoHSLaufwerk LTO6 Half-HightVerarbeitung von LTO 5 und LTO 6 Datenträger (wr/rd), LTO-4 Datenträger (rd)Schnittstelle SAS 6 Gb/s, SFF8088 Anschluss', Angebotspreis_I='0,00' , Bild_I='' , HAN='VFY:LT2R2XF021IN' , SKU_I='845641' , Kategorie_I='Storage' WHERE HAN='VFY:LT2R2XF021IN';
...
Dahinter folgen weitere Statements, mehr als 100.000 die genau so aufgebaut sind. Wenn ich diese manuell in MySQL ausführe funktionieren Sie auch perfekt, wenn ich sie aber aus der Windows Konsole ausführe bricht der gespeicherte Wert ab einem Umlaut einfach ab. So wird aus "Zubehör" einfach "Zubeh", das Script läuft aber normal weiter.
Mein Batch Befehl ist:
"%Pfad%\mysql.exe" %user% %server% %password% -e "source Befehle.txt"
Ich denke mal es hat etwas mit dem charset, entweder in Batch oder in MySQL zu tun, ich habe schon vieles in die Richtung probiert, bin aber zu keiner Lösung gekommen. Das Charset meiner Datenbank ist UTF-8. Wie schon oben geschrieben, ist meine Datenbank auch durchaus in der Lage die Umlaute darzustellen, da alles korrekt funktioniert wenn ich die Befehle direkt über HeidiSQL ausführe.
Weiß Jemand wie ich die Textdatei mit Batch so ausführen kann, dass die Sonderzeichen korrekt in MySQL übernommen werden?
Für Hilfe wäre ich sehr dankbar.
Chimera16