2017-12-27 560 views
2

從服務器運行ssis包時,我得到以下錯誤。ssis意外終止錯誤

Data Flow Task:Error: Excel Source failed the pre-execute phase and returned error code 0xC0202009 Data Flow Task :Error: SSIS Error Code DTS_E_OLEDBERROR . An OLE DB error has occurred.Error code:0x80004005 An OLE DB record is available.Source ."(null)" Hresult 0x80004005 Description:"(null)".

爲了解決這個問題我已經裝在小數字,並沒有問題。但是同樣的數據,如果我有Excel的25000行SSIS包fails.Since我與大數據工作文件,我需要一個解決方案更好

+0

執行前階段會出現什麼問題? – MJ8

+1

Excel文件很挑剔,嘗試保存與'逗號分隔文件(csv)'相同的電子表格,並使用'Flat file source'加載它。 – LONG

+0

平面文件的問題是如果我的列數據在中間會有「」,中止這個過程。 – MJ8

回答

1

我遇到類似的問題,它是使用這種解決方法解決:

首先嚐試導入Excel文件使用SQL Server導入和導出嚮導爲SQL。如果它成功完成。只需選擇將包保存到文件系統(在嚮導中選擇此選項)。打開它並編輯軟件包以添加其他轉換選項。

+1

這有助於謝謝 – MJ8

+0

@ MJ8還有一種解決方法是將excel文件導入腳本任務中的數據表。然後將其存儲在object類型的ssis變量中。然後將此變量用作源(在數據流任務中使用腳本組件)。你可以按照這個鏈接進一步瞭解如何將excel導入到數據表中https://stackoverflow.com/questions/18511576/reading-excel-file-using-oledb-data-provider – Hadi