J'ai plusieurs fichiers CSV, que je veux importer dans un base de données SQL Server. Je sais que si cela est possible avec BULK insert, mais je veux une solution, de sorte que le le tableau d'importation soit automatiquement créé avant sur la base de la première ligne des fichiers CSV, sont les noms des colonnes.
SQL Server Management Studio fournit un outil d’assistant d’importation/exportation qui permet de créer automatiquement des tableaux.
Vous pouvez y accéder en cliquant avec le bouton droit de la souris sur la base de données dans l'explorateur d'objets et en sélectionnant Tâches-> Importer des données ...
À partir de là, l'assistant doit être explicite et facile à naviguer. Vous choisissez votre CSV comme source, destination souhaitée, configurez des colonnes et exécutez le package.
Si vous avez besoin de conseils détaillés, il existe de nombreux guides en ligne, en voici un bon: http://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql -server /
Vous pouvez créer une variable de table temporaire et y insérer les données, puis les insérer dans votre table réelle en les sélectionnant dans la table temporaire.
declare @TableVar table
(
firstCol varchar(50) NOT NULL,
secondCol varchar(50) NOT NULL
)
BULK INSERT @TableVar FROM 'PathToCSVFile' WITH (FIELDTERMINATOR = ',', ROWTERMINATOR = '\n')
GO
INSERT INTO dbo.ExistingTable
(
firstCol,
secondCol
)
SELECT firstCol,
secondCol
FROM @TableVar
GO