[英]SSIS Package stopped working with Error code: 0x80004005
我在去年 12 月得到了這個 SSIS 包。 它只在星期五早上運行。 上周五,它失敗並顯示以下錯誤消息:
包:錯誤:SSIS 錯誤代碼 DTS_E_OLEDBERROR。 發生 OLE DB 錯誤。 錯誤代碼:0x80004005。 OLE DB 記錄可用。 來源:“Microsoft Access 數據庫引擎”Hresult:0x80004005 描述:“Microsoft Access 數據庫引擎無法打開或寫入文件 '\\ServerShare\IT\Reports\Export Templates\YoderReport.xlsx'。它已被另一個獨占打開用戶,或者您需要查看和寫入其數據的權限。”。
我檢查了其他幾個類似的問題,但他們沒有回答我的問題。 我已檢查以確保沒有人打開該文件。
有問題的文件是一個模板,它被復制然后填充,所以從一開始就沒有人應該打開它。
我嘗試將RetainSameConnection
更改為True
,但沒有區別。 我已經在調試模式下運行它,它工作正常。
任何人都知道如何清除它以便它再次自動運行?
更新
經過更多測試后,該文件似乎正在獲取數據,但沒有被復制。 這是我的設置:
File System Task
,它將模板從我的模板文件夾復制到我的導出文件夾。Data Flow Task
Data Conversion
以將幾個字段更新為正確的格式Excel Destination
用於輸出。 (這是復制到導出文件夾的模板Flat File Destination
以防萬一有任何錯誤File System Task
回到控制流,這個將文件從 Export 文件夾移動到共享驅動器上的最終目的地當我從 VS 2015 運行它時,它可以正常工作並創建文件。 當我從 SQL 代理作業運行它時,它會失敗並顯示上述錯誤消息。 我唯一能想到的是,在Data Flow Task
中, Excel Destination
在最終File System Task
嘗試復制文件之前沒有釋放文件? 但如果是這樣的話,為什么現在才開始發生呢?
我認為文件路徑存在問題,因為您可以看到文件路徑以一個反斜杠開頭:
\ServerShare\IT\Reports\Export Templates\YoderReport.xlsx
如果它在網絡上,也許它應該以雙反斜杠\\
開頭
\\ServerShare\IT\Reports\Export Templates\YoderReport.xlsx
或者分區丟失 --> 路徑不完整
檢查文件路徑提供給連接管理器的方式(如果您使用表達式)
同樣基於this microsoft article ,有兩個可能的原因:
看起來是訪問問題。 確保代理服務帳戶正在以對網絡共享路徑的完全權限運行。 也許您可以嘗試在代理服務器上使用您的憑據。
此外,確保您的 Excel 目標連接字符串支持 .xlsx。
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\path\xxx.xlsb;Extended Properties="Excel 12.0;HDR=YES";
將“ Excel 12.0
”更改為“ Excel 12.0 Xml
”將告訴提供程序以 .xslx 格式輸出。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.