2010-09-03 259 views
0

我需要導入多個csv文件,壓縮在一個壓縮文件夾中。我正在使用Visual Studio 2008/SQL server 2005.導入CSV文件

我正在考慮創建某種文件上傳.net控制或允許用戶將文件複製到網絡共享,然後運行某種導入實用程序以將數據導入到SQL服務器。

對我來說,棘手的部分是我應該編寫windows服務來導入文件,還是有其他更清潔的解決方案。

回答

0

如果您想使其自動化,請編寫Windows服務。

您可以使用Timer並將其設置爲以設定的間隔運行導入。

或者設置FileSystemWatcher並在特定文件夾中查找.csv文件,在正在監視的目錄中創建新文件時,運行導入CSV的方法。

聽起來像你已經知道如何進行導入,所以上述只是兩個自動化過程的建議。

設置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); 

事件處理程序

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

如果您希望用戶將其複製到網絡共享,一個窗口服務是最好的一段路要走。查看FileSystemWatcher,瞭解文件在文件夾中出現的時間。