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.
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. –