我需要导入多个csv文件,压缩在一个压缩文件夹中。我正在使用Visual Studio 2008 / SQL server 2005。
我想创建某种文件上传.net控件或允许用户将文件复制到网络共享,然后运行某种导入实用程序将数据导入SQL服务器。
对我来说,棘手的部分是我应该编写Windows服务来导入文件,还是有其他更清洁的解决方案。
答案 0 :(得分:0)
如果您希望自动化,请编写Windows服务。
您可以使用计时器并将其设置为以设定的间隔运行导入。
或者设置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
}
答案 1 :(得分:0)
如果您希望用户将它们复制到网络共享,那么Windows服务是最好的方法。查看FileSystemWatcher以了解文件何时出现在文件夹中的方法。