如何修改列在平面文件中显示的顺序?

时间:2013-02-11 16:48:25

标签: sql-server ssis

我的SSIS 2008 OLE DB源代码中有以下SELECT语句:

SELECT      dbo.Inventory.VendorFullSKU AS SKU
        ,   Product.Name AS 'Title'
        ,   dbo.ProductVariant.Price
        ,   dbo.ProductVariant.SalePrice
        ,   dbo.Inventory.Color AS Meta1
        ,   dbo.Inventory.[Size] AS Meta2
FROM        dbo.Inventory 
INNER JOIN  dbo.ProductVariant 
ON          dbo.Inventory.VariantID = ProductVariant.VariantID 
INNER JOIN  dbo.Product ON ProductVariant.ProductID = Product.ProductID
WHERE       (dbo.Inventory.VendorFullSKU <> N'')
ORDER BY    SKU

运行包之后,我生成的平面文件没有按照我期望的顺序排序。没有对数据进行转换。

平面文件包含下面提到的顺序列。

Price, Title .. followed by other fields

但是,我希望列在查询中定义的平面文件中按此顺序排列。

SKU, Title, Price, SalesPrice, Meta1, Meta2

如何确保平面文件中的字段的排序与上面的select语句相同?

1 个答案:

答案 0 :(得分:2)

您必须在平面文件连接管理器编辑器上重新定义列顺序。

假设您的平面文件连接管理器在FILE_Items选项卡的包底部定义为 Connection Managers

Connection Managers

双击连接管理器 FILE_Items 以打开 Flat File Connection Manager Editor 。点击 Advanced 标签页。

要根据查询生成文件,应在下面显示的 order 中定义列。如果列不按此顺序排列,则生成的平面文件将不符合您的要求。

cannot 重新排列列的顺序,因为没有move upmove down等选项,但您可以 Add / Delete 他们可以使用按钮 New Delete根据您的偏好修改订单显示在下方。

新按钮还包含Insert BeforeInsert After等选项。

注意:

确保在重新排列列时也适当地设置正确的数据类型和其他属性。

Flat File Connection Manager Editor - Advanced