最简单的方法来重复发送文本文件上传到SQL Server

时间:2011-06-01 22:05:14

标签: sql sql-server sql-server-2008

我有一个TAB DELIMITTED日志文件,需要将此日志文件中的新数据转储到sql server 2008数据库中。我想知道什么是自动化的最佳方法?我可以在管理工作室内使用哪些服务来帮助我吗?

3 个答案:

答案 0 :(得分:2)

我会使用SSIS(如果可用)并自动执行:http://msdn.microsoft.com/en-us/library/dd440761%28v=sql.100%29.aspx

如果做不到这一点,你可以选择[脚本语言选择] + SSIS加入一个过程来查看特定文件的正确文件夹,然后启动SSIS包。

如果SSIS根本不可用,那么你就不得不在代码中解析文件,并将其转换为插入/更新语句或调用存储过程来执行相同操作。

答案 1 :(得分:2)

如果安装了SQL Server Integration Services (SSIS),则可以使用它将Tab分隔文件加载到SQL Server表中。在这个link (SQL Integration Services to load tab delimited file)中,我逐步解释了如何使用SSIS将制表符分隔文件加载到SQL Server表中。

如果您还希望在给定文件夹中循环遍历同一格式的多个文件并将数据加载到表中,则可以使用另一个Stack Overflow link (Loading multiple files)来帮助您完成此操作。

希望有所帮助。

答案 2 :(得分:1)

最好的方式和最简单的方法可能不是同一个答案。可能最好的方法,因为这是经常性的,将构建一个转换文件并将其放入数据库的SSIS作业。这将允许您将任何业务逻辑放入导入(清理数据,插入/更新,如果需要,踢出错误,自动化等)。

这是一个简单的教程,指导您如何利用SSIS执行此任务:

http://decipherinfosys.wordpress.com/2008/07/28/ssis-importing-data-from-a-text-file-using-a-package/

如果您想要简单,请创建一个小脚本来导入数据,然后在每次有文件时运行它。这是一篇博客文章,讨论了仅使用SQL命令进行导入。它用于逗号分隔,但您可以修改它以用于制表符分隔:

http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv-file-into-sql-server-using-bulk-insert-load-comma-delimited-file-into-sql-server/