任務結束時拋出“未找到連接”錯誤,在包成功使用它所指的連接後失去
對不起,長標題和這個長問題!
我會設置場景。我對VS和SSIS相當陌生。
我創建了幾個 SSIS 包,基本上是一個用於檢索數據和創建 csv 文件的包,
getCSV.dtsx
另一個用於將所述 csv 文件載入到我們的 Oracle 表中,loadData.dtsx
.既然它們是獨立工作的,我已經開始將它們放在一個“主”包中,該包
getandLoad_AllTables.dtsx
由每個表的序列容器組成,每個容器 2 個包;getData/loadData 使用“執行包任務”按照我在控制流中佈置的順序從本地文件系統呼叫這些包。問題 - 這兩個任務都在第一個容器中被呼叫、執行和完成,但是
getandLoad_AllTables
包錯誤,詳細說明
Error: 0xC001000E at loadData: The connection "{long-ass string}" is not found"
我檢查了 XML 中的連接 ID,
loadData.dtsx
發現它是loadData
包中所有“執行 SQL 任務”中使用的主連接,所有這些都成功執行並按預期將數據載入到表中。為什麼這個錯誤是在
getandLoad_AllTables
包中拋出的,而不是在loadData
它說連接失去的包中?我完全被難住了。提前感謝您提供任何人可以提供的任何幫助/指導/建議。
我想出了這一點並在此處記錄,以防有人遇到同樣的問題。
在
Execute Package Task Editor
我選擇了Reference Type
asExternal Reference
並連結到.dtsx
文件系統中的文件。至少在直接從 Visual Studio 執行時,此選項似乎沒有正確清理。為了解決這個問題,我從項目中的包列表中更改
Reference Type
為並選擇所需的包。Project Reference
這執行了 100%。我已經在管理工作室上進行了設置,但是要從 Visual Studio 中執行,這解決了這個問題。