SSIS One软件包VS许多软件包加载Excel文件

时间:2015-02-25 09:37:47

标签: sql-server excel ssis

我想完成一个项目, 我的每个客户都有不同的DB(相同的服务器)。 我必须每个月加载一个excel文件(7张)。 (每个新月我都会为每个客户获得新的excel文件) db中的表与excel表中的表和名称和列类似。

这种项目的最佳方式是什么? 我是否必须为每个客户创建包装,或者可以为所有客户使用一个包装进行包装(目前,我的所有客户的表名,列数和数量都相同,但它可以是如有必要,将来会改变)

我认为更好的方法是为每个客户创建他自己的包,并使用自己的数据库连接。

但我是否必须每次都与我获得的新excel文件建立新连接或以其他方式进行连接?

我将精确定位我的项目,我为每个客户提供一个包含7个表的数据库(全部在同一服务器中),每个月我都会获得7张新的excel文件CustmoerName_MonthName.xls(现在,也许在将来它和它可以为一个或多个客户提供更多表格)如果我要使用一个软件包,如果excel文件名每次都改变,它将如何工作我和每个客户有不同的excel文件路径?此外,当我加载一个excel文件时,需要识别其客户并将其加载到他自己的数据库中我没有在同一天或一周内从客户那里获得excel文件,对于一个客户来说它可能是在月份和月末的其他月份,我不像正常的时间表那样执行包裹,例如每周一次。

1 个答案:

答案 0 :(得分:0)

以下是我的建议,
1.创建一个主表,其中包含客户的详细信息以及Excel工作表为每个客户制作的表。
2.创建一个包
3.创建一个占用db名称和/或server_ip的动态连接字符串
4.对于每个客户,进行for-each循环并相应地加载excel表。 这样,即使表名或数据库更改,您也必须在主表中更改它,而不是其他地方。 我希望这有帮助。 :)