Hochladen einer CSV-Datei auf SQL-Server - Identitätsproblem

.net c# csv sqlbulkcopy sql-server

Frage

Gegeben eine Spaltenstruktur in einer CSV-Datei von:

First_Name, Last_Name, Date_Of_Birth

Und eine SQL Server-Tabelle mit einer Struktur von

ID(PK) | First_Name | Last_Name | Date_Of_Birth

(Feld ID ist eine Identität mit einem Auto-Inkrement von 1)

Wie ordne ich es so an, dass SQL Server nicht versucht, die First_Name-Spalte aus der CSV-Datei in das ID-Feld einzufügen?

Für Informationen wird der CSV in eine DataTable geladen und dann mit SqlBulkCopy nach SQL Server kopiert

Sollte ich die csv-Datei vor dem Import modifizieren, fügen Sie die ID-Spalte hinzu (Die Zieltabelle wird vor dem Import abgeschnitten, sodass Sie sich keine Gedanken über doppelte Schlüsselwerte machen müssen.) Oder fügen Sie der Datatable möglicherweise eine ID-Spalte hinzu?

Oder gibt es eine Einstellung in Sql Server, die ich vielleicht verpasst habe?

Akzeptierte Antwort

Sie sollten die ID-Spalte zur Datentabelle hinzufügen, aber Sie müssen sich nicht darum kümmern, dieses Feld mit Daten aus der CSV zu füllen.

Sobald das erledigt ist, sollten die Daten gut in Ordnung sein und da ID eine Identität mit Auto-Inkrementierung ist, sollten Sie die CSV in die DB laden.




Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum