如何使用SSIS包将Excel文件数据加载到多个表中?

时间:2012-11-09 19:06:58

标签: excel ssis

我按照以下格式和顺序在Excel文件中获取订单信息。我需要将它们加载到下表中。

OrderHeader
-----------
OrderNumber
CustomerID

Customer
--------
CustomerID
CustomerFirstName
CustomerLastName

OrderDetail
-----------
Product Information

在C#中,我曾经通过一次读取一行数据来加载它,并检查ordernumber并循环显示其余信息,如果它与prvious行保持相同。现在我正在尝试转向SSIS,并想知道我是否可以使用更好的方法,或者我是否应该使用脚本任务。

OrderNumber CustomerID CustomerFirstName CustomerLastName Product ID Model No Serial No Date of Purchase
----------- ---------- ----------------- ---------------- ---------- -------- --------- ----------------
000001          A1           John              Doe           111      1x1x1x   1s1s1s     11/1/2012
000001          A1           John              Doe           112      1x1x2x   1s1s2s     11/1/2012
000001          A1           John              Doe           113      1x1x3x   1s1s3s     11/1/2012
000001          A1           John              Doe           114      1x1x4x   1s1s4s     11/1/2012
000001          A1           John              Doe           115      1x1x5x   1s1s5s     11/1/2012
000001          A1           John              Doe           116      1x1x6x   1s1s6s     11/1/2012
000002          A2           John1             Doe1          111      1x1x1x   1s1s1s     11/1/2012
000002          A2           John1             Doe1          112      1x1x2x   1s1s2s     11/1/2012
000002          A2           John1             Doe1          113      1x1x3x   1s1s3s     11/1/2012
000002          A2           John1             Doe1          114      1x1x4x   1s1s4s     11/1/2012
000002          A2           John1             Doe1          115      1x1x5x   1s1s5s     11/1/2012
000002          A2           John1             Doe1          116      1x1x6x   1s1s6s     11/1/2012

1 个答案:

答案 0 :(得分:1)

使用带有SQL SELECT语句的三个数据泵,使用DISTINCT,只返回每个目标所需的字段。您可能还需要一些逻辑来处理数据冲突,但您没有具体询问,所以我假设您没有这个问题。

希望您的OrderDetail表包含OrderNumber字段,否则您将不会走得太远。

for orderHeader Feed:

Select DISTINCT OrderNumber, CustomerID from XLSsource