Anfänger: MS SQL Server 2008 Express - Datenimport mit csv Datei

Hans78

Benutzer
Beiträge
6
Hallo zusammen,

ich arbeite gerade mit dem Microsoft SQL Server 2008 und möchte nun gerne Daten importieren (.csv Datei).
Habe zuvor mit MySQL gearbeitet, da hat es zwar unkompliziert funktioniert aber ich möchte nicht mehr mit MySQL arbeiten.

Die vorhandene .csv Datei ist folgendermaßen aufgebaut:

Zeilentrenner: CR/LF
Kodierung: Unicode UTF-8
Spaltentrenner: ;
Anführungszeichen: "
Anführungszeichen: nur Zeichenfolge
Spaltennamen: true

Ich möchte die .csv Datei nun in meiner SQL Datenbank importieren, doch es ergeben sich immer wieder Fehler. Entweder erkennt er die Orginalstruktur nicht und fügt Werte in andere Spalten ein (meist ist die Spalte mit dem Datenbereich text Schuld) Oder das Format passt nicht:
Benutze für das Datumsformat: JJJJ-MM-TT und wähle bei MSSQL "date" aus

Meine Einstellungen im Microsoft SQL Server 2008
Datenquelle: Flatfilequelle
Codepage: 65001 (UTF-8)
Format: Mit Trennzeichen
Textqualifizierer: "
Kopfzeilentrennzeichen: {CR}{LF}
Spaltennamen in der ersten Datenzeile: true
-> Vorschau sieht richtig aus
Erweitert: ändere die DataType von string -> date (sofern datum)

Ziel: gibt mir eine neue Tabelle vor
Datentypzuordnung: bei den Feldern mit Datum ist Konvertieren auf true

Jetzt kommen abwechselnd Fehler wie z.B. ... weil mehrere Codepages (65001 und 1252) dafür angegeben sind.


Mache ich irgendetwas grundsätzlich falsch? Bin sehr neu was Microsoft SQL Server angeht, würde mich über Feedback freuen oder auch Literaturempfehlungen.
 
Werbung:
ich arbeite gerade mit dem Microsoft SQL Server 2008 und möchte nun gerne Daten importieren (.csv Datei).
Habe zuvor mit MySQL gearbeitet, da hat es zwar unkompliziert funktioniert aber ich möchte nicht mehr mit MySQL arbeiten.

Daß man nicht mit MySQL arbeiten willst kann ich gut verstehen, aber warum so eine alte Version von M$SQL? Und warum überhaupt M$SQL?
 
Habe mir das leider nicht ausgesucht da das zur Zeit die Version ist die bei uns benutzt wird. Selbstständig wollte ich mich natürlich auch mit den neueren Versionen auseinandersetzen und mich zu gegebener Zeit auch mit PostgreSQL beschäftigen.
 
Update
Hab einen (komplizierten) Weg gefunden der funktioniert. Ich öffne meine .csv (UTF-8) Datei via Excel und speichere sie als Excel Arbeitsmappe (97-2003) ab. (Codierung ist jetzt ANSI).

Wenn ich im Importassistent nun die Excel Arbeitsmappe importiere funktioniert alles.

Ich schätze mein Fehler liegt daher irgendwo bei der Kodierung. Habe versucht meine .csv in ANSI zu kodieren doch dann klappt der Import auch nicht.
 
Mit der Codierung hatte ich selbiges Problem auch schon, wo kommt deine csv Datei denn her? Problematisch sind möglicherweise auch Textwerte die dein Trennzeichen ; enthalten.
 
Werbung:
Ich lasse es mittlerweile über ein BULK-Insert laufen und es funktioniert, mehr oder weniger aufwändig.
Bevor ich die Datei hochladen kann muss ich die .csv Datei via SQL Server Management Studio öffnen und die Kodierung auf "Unicode (Big-Endian) - Codepage 1201 ändern.

Dann klappt es zumindest auch mit den deutschen Umlauten.
 
Zurück
Oben