Je suis sûr que c'est un problème courant, mais je n'arrive pas à trouver exactement l'aide que je recherche. Toutes mes excuses! J'essaie d'effectuer une insertion en masse à partir d'un fichier CSV. La table dans laquelle je dois insérer les données contient quelques champs qui ne peuvent pas être null, comme un champ d'identificateur unique de ligne normalement généré avec newid()
, et Quelques autres champs tels que le numéro d'identification de l'utilisateur effectuant les changements, etc ...SQL Server Bulk Insert - Comment définir les champs manquants?
En passant en revue en ligne, je pense que je comprends comment faire une importation en bloc de base si le fichier CSV contient le même nombre de champs que la table, OU s'il est correct de laisser les champs manquants par défaut ou par défaut, mais je n'ai pas pu trouver quelque part qui me montre comment assigner des valeurs aux fichiers CSV, et aussi prédéfinir les autres valeurs de table requises. Il serait extrêmement utile que quelqu'un puisse me montrer comment faire une importation à partir d'un CSV où je peux assigner des champs manquants à partir de variables dans ma procédure stockée!
Des conseils? Voici le code que j'ai essayé d'utiliser pour y arriver.
BULK
INSERT tbl1_
FROM '\\...\importtest.txt'
WITH
(
FIELDTERMINATOR = ',',
ROWTERMINATOR = '\n'
)
GO
--Check the content of the table.
SELECT *
FROM tbl1_
GO
--Drop the table to clean up database.
SELECT *
FROM tbl1_
GO
duplication possible de [BULK INSERT avec un nombre incohérent de colonnes] (http://stackoverflow.com/questions/2601941/bulk-insert-with-inconsistent-number-of-columns) –
@Dustin Laine: pas tout à fait le même que celui-ci en particulier, mais il existe d'autres doublons – gbn
duplication possible de [quand utiliser un fichier de format pour le programme de copie en bloc (bcp)] (http://stackoverflow.com/questions/1994411/when-to-use-a- format-fichier-pour-bulk-copy-programme-bcp) – gbn