从Excel 2010文件到SQL Server 2012表的自动数据加载

时间:2016-06-29 17:12:48

标签: sql-server excel ssis

我是SQL Server新手,在Windows 2008上使用SQL Server 2012。

作为我的第一份工作,我必须将位于基于Windows的远程计算机上的Excel 2010文件导入SQL Server表。

该任务的额外复杂性是用户经常从另一个软件生成该excel文件。因此,我只需要导入用户生成的最后一个文件,然后在导入完成后将该文件移动到存档文件夹。

你能指导我如何完成这项工作吗?

1 个答案:

答案 0 :(得分:0)

如果您的用户定期创建Excel文件,则可以使用DOS批处理文件来识别,重命名和存档创建的Excel文件。一个例子是: ren C:\ SQL \ Daily_Billing_Report \ Daily_Billing_Report.xlsx Daily_Billing_Report-%date:~4,2% - %date:~7,2% - %date:~10,4%.xlsx

这会在文件名的末尾添加时间戳。 可以将以下内容添加到批处理文件中,以与前面的代码一起执行,以便一步重命名和归档文件。

移动C:\ SQL \ Daily_Billing_Report \ Daily_Billing_Report-%date:~4,2% - %date:~7,2% - %date:~10,4%.xlsx C:\ SQL \ SSIS_Packages \ Daily_Billing_Report \拱

您实际上会从SSIS包中调用此批处理文件,该包实际上从Excel文件中提取数据到SQL表。

由于您的用户不定期地创建文件,因此如果没有文件存在,我可能会创建一个正常退出的包,如果存在则处理文件。安排程序包每隔5分钟运行一次SQL代理或Windows任务计划程序。