Procédure stockée pour Ouvrir et Lire un fichier texte
Je suis à la recherche d'un code de procédure stockée qui va ouvrir un fichier texte, lu à plusieurs milliers de lignes, et d'ajouter le code à une table dans la base de données. Est-il un moyen simple de mettre en T-SQL?
Vous devez vous connecter pour publier un commentaire.
Si le fichier est prêt à charger "as-is" (pas de transformations de données ou de mappings requis), vous pouvez utiliser la commande d'Insertion en bloc:
CREATE PROC dbo.uspImportTextFile
AS
BULK INSERT Tablename FROM 'C:\ImportFile.txt'
WITH ( FIELDTERMINATOR ='|', FIRSTROW = 2 )
http://msdn.microsoft.com/en-us/library/ms188365.aspx
Je recommande à la recherche à l'aide de SSIS. Il est conçu pour faire ce genre de chose (surtout si vous devez le faire sur une base régulière).
Voici un bon lien qui passe au-dessus de la lecture d'un fichier texte et l'insérer dans la DB.
Le moyen le plus efficace de l'insertion nombre d'enregistrements dans une table est d'utiliser BULK INSERT (je crois que c'est ce que le Utilitaire BCP utilise, et il devrait donc être tout aussi rapide).
BULK INSERT
est optimisé pour l'insertion de grandes quantités de données et est destiné à être utilisé lorsque le rendement d'un simpleINSERT
déclaration n'est tout simplement pas le faire.Si
BULK INSERT
n'est pas ce que vous êtes après, alors vous voudrez peut-être jeter un oeil à l'article suivant pour plus d'une technique simple:Lié dans l'article est une procédure stockée
uftReadFileAsTable
qui semble comme il devrait être assez polyvalent pour réaliser ce que vous êtes après.Si ce n'est pas le cas, alors vous pouvez au moins utiliser la procédure stockée comme un exemple de la façon de lire les fichiers dans SQL (il utilise le fournisseur OLE /le L'écriture de scripts.FileSystemObject)
pourquoi ne pas essayez d'utiliser les fonctions de l'utilisateur?
De cette façon, vous pouvez utiliser .NET pour accéder et gérer votre fichier.
Découvrez ce post