On a souvent besoin d'importer du contenu CSV dans une table SQLServer 20xx, mais sur SQLServer Express (la version gratuite) on a pas SSIS.
Je vous propose cette procédure stockée testée sous SQLServer 2005 Express et 2008.
La perf ? sur mon PC, je viens d'importer 300 000 records en quelques secondes.
Source / Exemple :
CREATE PROCEDURE SpB_AddFileCsv
@NomTable nvarchar(50),
@Fichier nvarchar(2000)
AS
BEGIN
SET NOCOUNT ON;
DECLARE @REQUEST varchar(4000)
-- Importation des records
SET @REQUEST = 'BULK INSERT ' + @NomTable + ' FROM ''' + @Fichier + ''' WITH (FIELDTERMINATOR='';'',ROWTERMINATOR = ''\n'')'
EXECUTE @REQUEST;
END
GO
Conclusion :
Il faudra changer le séparateur de champs (ici ;) ou de record (ici retour chariot)
Vous n'êtes pas encore membre ?
inscrivez-vous, c'est gratuit et ça prend moins d'une minute !
Les membres obtiennent plus de réponses que les utilisateurs anonymes.
Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.
Le fait d'être membre vous permet d'avoir des options supplémentaires.