最佳途径ETL多个不同的Excel工作表到SQL Server 2008使用SSIS(Best Wa

2019-10-31 15:52发布

我见过很多的如何通过Excel工作簿或者使用foreach循环容器板材的集合枚举,在假设的例子,所有的源文件的数据结构是相同的,该数据将单个目标表。

什么是处理以下情形的最好办法: - 单个Excel工作簿,与10 - 20片或10 - 20 1张Excel工作簿。 - 每个工作簿/片材具有不同的模式 - 有一个1:对于每个源片1匹配目标表。 - 标准清理工作:工作簿将被创建并放置在“加载”文件夹中,SSIS包上一份工作,读取装载文件夹中的文件,并成功完成后,将它们移动到存档文件夹中运行

我知道我可以创建一个单独的SSIS包为每个工作簿,但似乎真正痛苦的维护。 任何帮助是极大的赞赏!

Answer 1:

我们面临着同样的问题,长回来了。 我只是总结一下我们所做的。 我们已经用C#编写的SSIS包亲语法。 甲元表是平面文件的保持保持该信息(表名,列,在平面文件这些列的位置)。 我们提取平面文件的名称,然后查询到的元表有关表的这个平面文件属于,它是具有列和平面文件中的列位置。

我们在SQLSERVER通过使每个平面文件作为命令行参数来PackageExe执行包。 因此,它能够读取和处理每个平面文件。

示例假设说我们有一个平面文件FF,我们先提取平面文件的名称,然后通过查询到DB获得表名,可以说这是TT包含COL-1,COL-2与位置1至1011至20分别。 通过读取元表这个信息我现在已经创建了一个派生列转换(包)。

我们的应用有一组文件夹中的纯文本文件,通过使用“For循环容器SSIS”我们得到了一次在一个平面文件并执行上述过程。



文章来源: Best Way to ETL Multiple Different Excel Sheets Into SQL Server 2008 Using SSIS
标签: sql ssis etl