2010-09-03 4 views
0

Je dois importer plusieurs fichiers CSV, compressés dans un dossier compressé. J'utilise Visual Studio 2008/serveur SQL 2005.Importer des fichiers CSV

Je pense soit à créer une sorte de contrôle de téléchargement de fichier .net OU permettre aux utilisateurs de copier des fichiers sur un partage réseau, puis exécutez une sorte d'utilitaire d'importation pour importer des données dans Serveur SQL. La partie délicate pour moi est que je devrais écrire le service de fenêtres pour importer des dossiers ou est-il n'importe quelle autre solution de décapant. Ecrivez un service Windows si vous voulez qu'il soit automatisé.

Répondre

0

Vous pouvez utiliser une minuterie et la définir pour exécuter l'importation à un intervalle défini.

Ou configurez un FileSystemWatcher et recherchez les fichiers .csv dans un dossier particulier, lorsqu'un nouveau fichier est créé dans le répertoire qu'il regarde, exécutez votre méthode d'importation du fichier CSV.

Semble que vous savez déjà comment faire l'importation, donc ce qui précède ne sont que deux suggestions pour automatiser le processus.

Configuration FileSystemWatcher

FileSystemWatcher csvWatcher = new FileSystemWatcher(); 
csvWatcher.Path = "C:\Imports"; //Put the Dir to watch here 
csvWatcher.Filter = "*.csv"; 
csvWatcher.EnableRaisingEvents = true; 
csvWatcher.Created += new FileSystemEventHandler(csvWatcher_Created); 

gestionnaire d'événements

void csvWatcher_Created(object Sender, FileSystemEventArgs e) 
{ 
//Call Import Method 
} 
0

Si vous souhaitez que les utilisateurs de les copier sur un partage réseau, un service de Windows est la meilleure façon d'aller. Regardez le FileSystemWatcher pour un moyen de détecter quand les fichiers apparaissent dans le dossier.