SSIS新手在這裏。ssis temp table exec proc
我有我創建基於嚮導的SSIS包。我添加了一個SQL任務來運行我之前單獨運行的腳本,以便將過程簡化爲一步。該腳本使用大量臨時表,並在結尾處使用一個全局## temp以使結果在進程外可訪問。
當我嘗試執行這個包,我得到一個複雜的「包驗證錯誤」(錯誤代碼0x80040E14)。我認爲錯誤信息的執行部分是「無效的對象名稱## roster5'」。
我才意識到這是被扔錯誤的數據流任務,所以我試圖把另一個SQL任務一切之前創建表,以便數據流任務將看到表中是存在的;但它仍然給我錯誤:「無效的對象名稱」## ROSTER_MEMBER_NEW5「。」
我缺少/做錯了嗎?我不知道我不知道什麼。看起來這不應該是複雜的(作爲一個新手,我知道這是可能的...一些重複,但我不知道該怎麼問這樣的問題)。基於
有幾個解決方案。首先告訴我你期望在## roster5,## roser)member_news5中有多少行。 – plditallo
oops,## roster5只是全名的縮寫;有大約500萬行由腳本生成 – hmmmmm
您會看到一些建議將您的#temp錶轉換爲表變量(例如@temptable)。優化器會將變量表視爲具有單行的表,這將影響性能。您還將看到其他建議,例如設置frmt off(https://stackoverflow.com/questions/1579476/using-temp-tables-in-ssis)。這也會導致性能下降。我將創建一個具有可識別架構的臨時表,填充它,然後通過截斷時。 – plditallo