0

我的 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

如何确保平面文件中的字段的顺序与我上面的选择语句相同?

4

1 回答 1

2

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

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

连接管理器

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

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

cannot重新排列列的顺序,因为没有类似move up或的选项,move down但您可以Add/Delete它们根据您的偏好使用按钮修改顺序,NewDelete显示在下面。

新按钮还具有 和 等Insert Before选项Insert After

警告:

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

平面文件连接管理器编辑器 - 高级

于 2013-02-11T17:03:23.437 回答