Sql-Server

任務結束時拋出“未找到連接”錯誤,在包成功使用它所指的連接後失去

  • February 21, 2017

對不起,長標題和這個長問題!

我會設置場景。我對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 TypeasExternal Reference並連結到.dtsx文件系統中的文件。至少在直接從 Visual Studio 執行時,此選項似乎沒有正確清理。

為了解決這個問題,我從項目中的包列表中更改Reference Type為並選擇所需的包。Project Reference這執行了 100%。

我已經在管理工作室上進行了設置,但是要從 Visual Studio 中執行,這解決了這個問題。

引用自:https://dba.stackexchange.com/questions/162910