2016-08-18 3 views
3

Ich versuche, eine CSV-Datei mithilfe des Import-Assistenten in SQL Server 2008 R2 zu importieren.
Wenn ich die Schritte befolge, kann ich einen Überblick über das Mapping sehen. Das Problem ist, dass standardmäßig alle Typen varchar und die Größe zu 50, unabhängig vom Inhalt der Spalten festgelegt sind:Passen Sie die Datentypen beim Importieren automatisch an

enter image description here

In meinem Fall gibt es mehr als 100 Spalten mit verschiedenen Inhaltstypen (Zahlen, Daten, Langtext usw.). Wenn ich noch fortfahre, bekomme ich endlich eine Fehlermeldung, dass der Text in einigen Spalten zu lang war, geschnitten werden musste und der Import fehlschlug.

Gibt es eine Chance, dass der Assistent sich automatisch um die Datentypen kümmert, so dass ich nicht jeden manuell anpassen muss?

+0

Ich weiß, dass dies Ihre Frage nicht direkt beantwortet, aber wenn ich eine CSV-Datei laden muss, verwende ich normalerweise eine BULK INSERT. Ich hatte nie Probleme mit der Länge von Feldern, die diese Methode verwenden, es sei denn, das Feld in der Tabelle, in das ich eingefügt habe, war zu klein, um die Daten aufzunehmen, was das gleiche Problem sein kann wie hier. –

Antwort

0

Eine Möglichkeit, dies zu beheben, besteht darin, die CSV in eine Excel-Arbeitsmappe zu konvertieren. Wenn der SQL Server-Importassistent Excel-Tabellen liest, versucht er, den Datentyp automatisch zu erkennen, indem er die oberen Werte (einige Werte, die ich nicht mehr weiß) für jedes Feld überprüft. Wenn Ihre Daten in guter Verfassung sind, könnte dies Ihr Problem einfach beheben.

Aber wenn Sie Fehler mit der CSV bekommen, ist es wahrscheinlich, dass Sie auch Fehler mit dem Excel bekommen, aber die Fehlermeldungen werden hilfreicher sein bei der Identifizierung, welche Felder das Problem sein können (wenn es einen Text abschneidet) Fehler Sie wissen, dass Sie nicht die Anzahl formatierten Felder zum Beispiel aussehen.)

Auch ein sehr häufiges CSV-Import-Problem ist Delimiter Werte in den Felddaten. Z.B. Wenn das Trennzeichen ein Komma ist und Sie Freitextfelder haben, ist es wahrscheinlich, dass ein Benutzer ein Komma eingegeben hat. Eine einfache Möglichkeit, um zu testen, ob dies das Problem ist, ist die Verwendung der Funktion find, um nach Kommas zu suchen und sie durch etwas, das nicht das Trennzeichen ist, wie einen Unterstrich zu ersetzen.

Noch eine andere Möglichkeit besteht darin, Ihr Trennzeichen zu ändern. Wenn Sie die Einstellungen für Region und Sprache in Windows verwenden, können Sie das Listentrennzeichen in etwas ändern, das in Ihren Daten wahrscheinlich nicht vorhanden ist, z. B. in den Balken |. Ändern Sie dazu die Einstellung, öffnen Sie die CSV-Datei in Excel und speichern Sie sie als CSV mit einem neuen Dateinamen erneut. Excel wird das neue Zeichen als Trennzeichen verwenden.

Verwandte Themen