這個問題是朋友遇到的,做一個SSIS的程序將數據導入到txt。然后再用Oracle的工具導入到Oracle。但是在SSIS中執行變量腳步的時候,發現輸出的列名稱跟查詢的列名稱完全不同。比如Schema_id在查詢的第三列,但是輸出的時候到了第6列。
如圖:
因為txt的格式已經定義好了,而且解析的程序也已經做好,所以如果txt列順序有問題就會影響到后面的操作。查了一下好像沒有地方可以調整輸出量的順序。
當然這個問題可以通過調整目標列的順序解決,但是需要手動的調整,如果列多了比較麻煩。
另外測試了一下直接從Table或者命令查詢就不會有這個問題,感覺微軟在解析變量腳步的時候沒有考慮到排序。
之后發現一篇Blog也提到這個問題:SSIS?系列?-?變量查詢語句引起列輸出順序不一致的解決方法
可以用下面的辦法:
解決的方法雖然也需要人工手動操作,但是比起在文件管理器中刪除新建要容易的多,回到數據源的列,先取消全部可用的列。
然后對照查詢語句列的順序,依次選中需要的列,比如第一個先勾選?BusinessEntityID,第二個再勾選?NationalIDNumber,后面根據需要按順序依次勾選。
按順序選擇完成之后,這樣所有的列又按照查詢順序輸出了。
需要重新建立新的文件鏈接管理器,這樣可以避免之前的緩存影響,再來看管理器中的列順序也是對應一致的,沒有問題了。
?
?
?
本文轉自 lzf328 51CTO博客,原文鏈接: