码迷,mamicode.com
首页 > 其他好文 > 详细

图解SSIS监视文件夹并自动导入数据

时间:2015-02-16 12:52:28      阅读:153      评论:0      收藏:0      [点我收藏+]

标签:

原文: 图解SSIS监视文件夹并自动导入数据

 演示案例:让系统自动监视文件夹,并把文件夹下面的excel文件导入到sql中,之后清空目录。这个过程以往都需要写程序来实现或者定时执行,现在可以用ssis来订制任务完成。
 在阅读本文之前,你先要学会如何用ssis来批量导入数据,可以参考我先前的blog文章,这里我们用相同的数据交换背景来演示。http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx
 
1、建立测试环境,目录为F:/excel 下面保存需要导入的excel文件,F:/excel/upload目录用来让ssis自动监视,当我们上传了一批excel到F:/excel后,可以在F:/excel/upload目录中新建一个空文件,当ssis监视到这个目录有新增文件后就会遍历F:/excel目录依次导入表格。为什么不直接监视F:/excel目录呢?因为要考虑批量上传的问题,所以不可以直接监视数据目录。
技术分享
2、这里假设你已经学会了ssis的基本使用办法和批量导入excel的方法,不会也不要紧,只需要参考一下http://blog.csdn.net/jinjazz/archive/2008/07/25/2710169.aspx这篇就可以了,我们已这篇文章的成果为基础,增加一个wmi监视任务用来监视文件夹和两个文件系统任务用来处理导入后的文件。如图:
技术分享
3、wmi监视任务的设置也很简单:
技术分享

4、其中wmi连接设置:
技术分享
5、wmi查询语句设置:
SELECT * FROM __InstanceCreationEvent WITHIN 10 WHERE TargetInstance ISA "CIM_DirectoryContainsFile" and TargetInstance.GroupComponent= "Win32_Directory.Name=/"f:////excel////upload/""
技术分享

6、循环内的文件系统任务用来删除已经导入的excel,文件名沿用枚举得到的变量,而操作选择“删除文件”
技术分享

7、循环外的文件系统任务用来清除监视文件夹里面的那个新增文件
技术分享

8、这样我们就完成了整个配置,调试一下
技术分享

9、copy一些excel到f:/excel中,格式沿用上面参考文章中的excel

技术分享
10、在upload目录中新建一个文本文档
技术分享

11、快速切换回设计器中,可以看到执行结果
技术分享

12、整个过程结束,你会发现excle文件已经导入到sql中,并且已导入的文件连同新建的txt文件都已经被删除。这是ssis自动作业的一个简单的例子。

你可以把上面的步骤扔到一个循环容器中让他不停的监视,因为这个过程结束后wmi监视就结束了。
你可以用其他复杂的wmi来实现任务调度,比如监视服务器性能,磁盘空间等。

相关文档 :

 图解SSIS批量导入Excel文件


图解SSIS监视文件夹并自动导入数据

标签:

原文地址:http://www.cnblogs.com/lonelyxmas/p/4293933.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!