SSIS 执行变量中的脚步输出列顺序与SQL查询列顺序不同
這個(gè)問題是朋友遇到的,做一個(gè)SSIS的程序?qū)?shù)據(jù)導(dǎo)入到txt。然后再用Oracle的工具導(dǎo)入到Oracle。但是在SSIS中執(zhí)行變量腳步的時(shí)候,發(fā)現(xiàn)輸出的列名稱跟查詢的列名稱完全不同。比如Schema_id在查詢的第三列,但是輸出的時(shí)候到了第6列。
如圖:
因?yàn)?/span>txt的格式已經(jīng)定義好了,而且解析的程序也已經(jīng)做好,所以如果txt列順序有問題就會(huì)影響到后面的操作。查了一下好像沒有地方可以調(diào)整輸出量的順序。
當(dāng)然這個(gè)問題可以通過調(diào)整目標(biāo)列的順序解決,但是需要手動(dòng)的調(diào)整,如果列多了比較麻煩。
另外測(cè)試了一下直接從Table或者命令查詢就不會(huì)有這個(gè)問題,感覺微軟在解析變量腳步的時(shí)候沒有考慮到排序。
之后發(fā)現(xiàn)一篇Blog也提到這個(gè)問題:SSIS?系列?-?變量查詢語句引起列輸出順序不一致的解決方法
可以用下面的辦法:
解決的方法雖然也需要人工手動(dòng)操作,但是比起在文件管理器中刪除新建要容易的多,回到數(shù)據(jù)源的列,先取消全部可用的列。
然后對(duì)照查詢語句列的順序,依次選中需要的列,比如第一個(gè)先勾選?BusinessEntityID,第二個(gè)再勾選?NationalIDNumber,后面根據(jù)需要按順序依次勾選。
按順序選擇完成之后,這樣所有的列又按照查詢順序輸出了。
需要重新建立新的文件鏈接管理器,這樣可以避免之前的緩存影響,再來看管理器中的列順序也是對(duì)應(yīng)一致的,沒有問題了。
?
?
?
本文轉(zhuǎn)自 lzf328 51CTO博客,原文鏈接:
http://blog.51cto.com/lzf328/1335777總結(jié)
以上是生活随笔為你收集整理的SSIS 执行变量中的脚步输出列顺序与SQL查询列顺序不同的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA 排序工具类
- 下一篇: Serv-U服务器的管理3