使用SSIS包将具有不同列的excel文件从目录加载到数据库中

时间:2017-08-19 09:16:09

标签: sql-server ssis

我在一个文件夹中有40张excel表。我想通过SSIS包将它们全部加载到不同的表sql server数据库中。我遇到的困难是因为每个Excel工作表中的列数和名称不同。 这个任务可以通过一个包来实现吗?

2 个答案:

答案 0 :(得分:0)

另一个选项是,如果要在一个数据流中执行此操作,可以编写具有多个输出的自定义C#源组件。在脚本任务中,您将找出文件类型并将数据发送到正确的输出。 NPOI库(https://npoi.codeplex.com/)是一种在C#中读取Excel文件的好方法。

但是如果你有固定的文件格式,我宁愿在Foreach循环容器中创建N个数据流。使用常规Excel源组件,只需忽略每个数据流中的错误。这将允许您获取文件并尝试逐个加载每个数据流。如果出现错误,您将不会使程序包失败,只需转到下一个数据流,直到找到正确的文件格式。

答案 1 :(得分:0)

只能通过添加多个源或使用脚本组件来完成,在它的表单上用白色标记。然后,您可以使用条件拆分并输入多个目的地。