Téléchargement d'un fichier csv sur un serveur SQL - Problème d'identité

.net c# csv sqlbulkcopy sql-server

Question

Étant donné une structure de colonne dans un fichier CSV de:

First_Name, Last_Name, Date_Of_Birth

Et une table SQL Server avec une structure de

ID(PK) | First_Name | Last_Name | Date_Of_Birth

(Le champ ID est une identité avec une incrémentation automatique de 1)

Comment puis-je arranger cela pour que SQL Server ne tente pas d'insérer la colonne First_Name du fichier CSV dans le champ ID?

Pour info, le csv est chargé dans un DataTable puis copié dans SQL Server à l'aide de SqlBulkCopy

Devrais-je modifier le fichier csv avant l'importation, ajouter la colonne ID (la table de destination est tronquée avant l'importation, vous n'avez donc pas à vous soucier des valeurs de clé en double.) Ou peut-être ajouter une colonne ID au Datatable?

Ou existe-t-il un paramètre dans Sql Server que j'ai peut-être oublié?

Réponse acceptée

Vous devez ajouter la colonne ID au datatable, mais ne vous inquiétez pas du fait de renseigner ce champ avec les données du fichier CSV.

Une fois que cela est fait, les données doivent être bien alignées et puisque ID est une identité avec incrémentation automatique, vous devriez pouvoir charger le CSV dans la base de données.




Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi