Datenimport mit LOAD DATA

Datenimport mit LOAD DATA

am 10.11.2006 13:51:38 von Karsten Wutzke

Hallo alle!

Also so langsam verlier ich die Nerven. Ich habe aus zwei gaanz tollen
Programmen Daten exportiert, Resultat ist jeweils ein korrektes XLS,
also daran sehe ich, dass die Daten weitestgehend korrekt sind. Diese
Daten möchte ich nun in MySQL bekommen. Also was macht man? Einfach
den Excel-Quatsch als .csv speichern und dann per MySQL Client LOAD
DATA statement rüberverfrachten.

So Ewigkeiten probiert, aber nicht zufrieden. Der Vorgang hackt ab den
Umlauten den Rest des Feldes ab. Gar nicht gut. Eine Lösung hier

http://groups.google.de/group/de.comp.datenbanken.mysql/brow se_thread/threa=
d/7d56460d25112927/cf92b2d89c509539?lnk=3Dst&q=3Dload+data+u mlaute&rnum=3D1=
&hl=3Dde#cf92b2d89c509539

hab ich ehrlich gesagt nicht verstanden.

Womit hat MySQL bzw. LOAD DATA ein Problem?

Meine Datenbanktabellen bzw. alle Spalten haben utf8_general_ci als
Zeichenkodierung, was das CSV hat, keine Ahnung.

Was muss ich tun, damits funktioniert?

Wie bekomme ich die Zeichenkodierung der Dateien heraus? Wie kann ich
die ändern, falls das was bringt? Was muss MySQL noch wissen, bevor es
klappt?

Sorry, bin noch nich so der MySQL-Adminheld...

Karsten

Re: Datenimport mit LOAD DATA

am 10.11.2006 15:50:11 von Axel Schwenke

"Karsten Wutzke" wrote:
> Hallo alle!
>
> Also so langsam verlier ich die Nerven. Ich habe aus zwei gaanz tollen
> Programmen Daten exportiert, Resultat ist jeweils ein korrektes XLS,
> also daran sehe ich, dass die Daten weitestgehend korrekt sind. Diese
> Daten möchte ich nun in MySQL bekommen. Also was macht man? Einfach
> den Excel-Quatsch als .csv speichern und dann per MySQL Client LOAD
> DATA statement rüberverfrachten.
>
> So Ewigkeiten probiert, aber nicht zufrieden. Der Vorgang hackt ab den
> Umlauten den Rest des Feldes ab. Gar nicht gut. Eine Lösung hier
>
> http://groups.google.de/group/de.comp.datenbanken.mysql/brow se_thread/threa
> d/7d56460d25112927/cf92b2d89c509539?lnk=st&q=load+data+umlau te&rnum=1
> &hl=de#cf92b2d89c509539
>
> hab ich ehrlich gesagt nicht verstanden.
>
> Womit hat MySQL bzw. LOAD DATA ein Problem?

Mit der Umlautcodierung in deinem CSV file.

Wenn ich mich mal selber zitieren darf:

>> Aus
>>
>> "The character set indicated by the character_set_database system
>> variable is used to interpret the information in the file. SET NAMES
>> and the setting of character_set_client do not affect interpretation of
>> input."

> Meine Datenbanktabellen bzw. alle Spalten haben utf8_general_ci als
> Zeichenkodierung, was das CSV hat, keine Ahnung.
>
> Was muss ich tun, damits funktioniert?

Rausbekommen, wie die Umlaute in deinem CSV codiert sind. Dann
character_set_database in MySQL passend einstellen (geht auch
nur temporär für das LOAD DATA).

Alternativ dein CSV so umwandeln, daß es eine passende Umlaut-
codierung verwendet.

> Wie bekomme ich die Zeichenkodierung der Dateien heraus? Wie kann ich
> die ändern, falls das was bringt?

Ich nix Windoze. Unter Linux würden 'file' und 'recode' helfen.


XL

Re: Datenimport mit LOAD DATA

am 10.11.2006 17:56:18 von Claus Reibenstein

Karsten Wutzke schrieb:

> Meine Datenbanktabellen bzw. alle Spalten haben utf8_general_ci als
> Zeichenkodierung, was das CSV hat, keine Ahnung.

Natürlich hat das CSV genau _die_ Zeichencodierung, die Du beim Export
angegeben hast. Offensichtlich war das _nicht_ UTF8.

> Was muss ich tun, damits funktioniert?

Diesen Fehler korrigieren.

> Sorry, bin noch nich so der MySQL-Adminheld...

Wenigstens diesmal ist MySQL vollkommen unschuldig :-)

Gruß. Claus
--
,~°O O
O ,´ / |/|\
/ |¯`. Das neue Hochzeits-Branchenbuch im Internet ,´ / | |\
/__| `~...............................................~´ /___|/ /

Re: Datenimport mit LOAD DATA

am 14.11.2006 12:32:55 von Karsten Wutzke

Kleiner Nachtrag:

Wer auch auf Windows arbeitet und sich mit den
Zeichenkodierungsgeschichten nicht so auskennt, der sollte sich
schleunigst einen halbwegs gescheiten Editor zulegen.

Habe mit dem MySQL Query Browser und Notepad im Wechsel Dateien
geändert und abgespeichert. Der Query Browser speichert nur in
UTF(-8), Notepad anscheinend nur ISO. Das kann Probleme bereiten. So
kommt z.B. der mysql Client (Kommandozeile) mit UTF nicht klar.

Ich selbst habe jetzt Notepad++ als Notepad-Ersatz, der iss erstens
rasend schnell und zweitens kann mit diesem ohne irgendwas
nachzuinstallieren die Zeichenkodierung geändert werden.

Karsten