我的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语句相同?
答案 0 :(得分:2)
假设您的平面文件连接管理器在FILE_Items
选项卡的包底部定义为 Connection Managers
。
双击连接管理器 FILE_Items
以打开 Flat File Connection Manager Editor
。点击 Advanced
标签页。
要根据查询生成文件,应在下面显示的 order
中定义列。如果列不按此顺序排列,则生成的平面文件将不符合您的要求。
您 cannot
重新排列列的顺序,因为没有move up
或move down
等选项,但您可以 Add
/ Delete
他们可以使用按钮 New
和 Delete
根据您的偏好修改订单显示在下方。
新按钮还包含Insert Before
和Insert After
等选项。
确保在重新排列列时也适当地设置正确的数据类型和其他属性。