如何使用SSIS将多个表中的数据导出到一个平面文件中?

时间:2014-04-28 20:42:44

标签: sql-server-2008 ssis

我有2个不同列数的表,我需要使用SSIS将数据导出到文本文件。例如,我有客户表,tblCustomers;订单表,tblOrders

tblCustomers (id, name, address, state, zip)
id  name    address state   zip’
100 custA   address1    NY  12345
99  custB   address2    FL  54321

tblOrders(id, cust_id, name, quantity, total, date)
id  cust_id     name    quantity    total   date
1   100     candy   10      100.00  04/01/2014
2   99      veg 1       2.00    04/01/2014
3   99      fruit   2       0.99    04/01/2014
4   100     veg 1       3.99    04/05/2014

结果文件如下

“custA”, “100”, “recordtypeA”, “address1”, “NY”, “12345”
“custA”, “100”, “recordtypeB”, “candy”, “10”, “100.00”, “04/01/2014”
“custA”, “100”, “recordtypeB”, “veg”, “1”, “3.99”, “04/05/2014”
“custB”, “99”, “recordtypeA”, “address2”, “FL”, “54321”
“custB”, “99”, “recordtypeB”, “veg”, “1”, “2.00”, “04/01/2014”
“custB”, “99”, “recordtypeB”, “fruit”, “2”, “0.99”, “04/01/2014”

有人可以告诉我如何做到这一点吗?

2 个答案:

答案 0 :(得分:1)

我认为你的意思是“指南”,而不是“公会” - 我希望你的代码在打字时更加小心吗?

我会在SSIS包中创建一个数据流任务。在那里我将首先添加一个OLE DB源并将其指向tblOrders。然后我将添加一个Lookup来添加tblCustomers中的数据,方法是将tblOrders.Cust_id与tblCustomers.id相匹配。

答案 1 :(得分:0)

我会使用一个连接表的SQL查询,并设置数据,将其用作源并导出。

请注意,第一行有6列,第二行有7列。导入这些类型的标题/详细信息文件通常很困难(并不像标准文件那么容易)。创建后如何使用此文件?如果它需要在某个地方导入,你最好只加入数据并拥有10列,或单独导出它们。