2009-01-14 63 views
0

我有一個微軟SSIS包2005的XML源,當我調試包我收到類似警告刪除列:微軟SSIS 2005年從XML源

[DTS.Pipeline]警告:輸出列輸出「AccFwdDetail」(303)上的「AccBasicRateDesc」(15229)和組件「XML Source」(1)隨後不會在數據流任務中使用。刪除這個未使用的輸出列可以提高數據流任務的性能。

於是,我就刪除所有這些,但這似乎會導致一個問題,因爲那裏將是我不會使用整個XML輸出,這給我的錯誤:

錯誤在聯繫插入[ DTS.Pipeline]:「輸出」AccFwdDetail「(19)」不包含輸出列。異步輸出必須包含輸出列。

是否有一種簡潔的方式來定義我想從xml文件中獲得哪些輸出?我試圖刪除高級編輯器中的整個輸出,但這給了我錯誤:

聯繫人插入時出錯[XML源代碼[1]]:無法從輸出列中刪除輸出。

回答

1

在數據源之後,在您的數據流中使用Union All組件(將數據源作爲唯一的輸入)。在這裏刪除任何未使用的列。

據我所知,這是擺脫這些警告的唯一方法。

以下是有關SSIS性能的一些真正有用的鏈接:

http://blogs.msdn.com/michen/archive/2007/06/11/katmai-ssis-data-flow-improvements.aspx

http://www.microsoft.com/technet/prodtechnol/sql/2005/ssisperf.mspx

http://www.simple-talk.com/sql/sql-server-2005/sql-server-2005-ssis-tuning-the-dataflow-task/

+0

這將刪除課程的警告,但性能會比原包更糟該報告的警告:) – Michael 2009-01-15 07:52:20

1

看起來像抓住42

我只想忽略在這種情況下,原來的警告 - 它只是一個性能警告,它不會造成任何實際問題。在這種情況下性能影響較小,因爲沒有人會使用此輸出中的數據。