2010-05-27 76 views
1

我有一個excel文件。我想將數據從excel文件中提取到SQL Server表中。數據成功傳輸。在excel文件中,我從一行中刪除了一列名爲Risk的文本。文本很長。現在,程序包執行失敗,即源於excel文件。該錯誤顯示爲從Excel文件檢索數據時出錯

[Audit [1]] Error: There was an error with output column "Risk" (100) 
on output "Excel Source Output" (9). The column status returned was: 
"DBSTATUS_UNAVAILABLE". 

[Audit [1]] Error: SSIS Error Code 
DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "output column "Risk" 
(100)" failed because error code 0xC0209071 occurred, and the error 
row disposition on "output column "Risk" (100)" specifies failure on 
error. An error occurred on the specified object of the specified 
component. There may be error messages posted before this with more 
information about the failure. 

,當我從該行刪除此特定的文本,並出現錯誤,當我清除整個數據除列名,並重新輸入新的數據。即使我使用相同的名稱和相同的列名替換具有不同數據的Excel文件。

+0

當你說你「刪除了文本」時,你究竟做了什麼?你是否手動打開了excel文件並刪除了整個列,是否刪除了該列中的單個單元格,是否用空格替換了列? – 2010-05-27 09:57:42

+0

我刪除了該列中的單個單元格。如果單元的長度低於256,則會發生相同的錯誤。它只發生在特定的細胞。 – 2010-05-27 10:00:56

+0

或者什麼是從excel文件導入數據到sql server的正確方法? – 2010-05-28 11:18:47

回答

0

確保在運行SSIS包之前關閉了excel。另外打開SSIS包,嘗試刷新元數據,轉到源和目標數據流項中的列部分。似乎沒有其他問題,或者你以錯誤的方式描述/觀察它。

+0

當您在第一行替換具有不同數據但列名相同的Excel文件或在清除除列名之外的舊數據後輸入新數據時發生錯誤。因此數據拉失敗。我通過刷新元數據完成了。該錯誤暫時得到解決。但是,一旦您將其部署到服務器上,請執行上述過程。如果失敗,則無法在SQL Server上刷新該軟件包。 – 2010-06-02 11:01:16

0

我剛剛遇到了這個......不要回想在使用SSIS的10年以前看到它。 Google-ing找到了一個解決方案。右鍵單擊Excel連接>>高級編輯器>>輸入和輸出屬性。在Excel Source Output樹視圖中打開「Output Columns」,然後找到麻煩的列。將ErrorRowDisposition更改爲RD_IgnoreFailure。

這讓我有一部分 - 我不得不進入並更改DataType屬性和長度,然後才能使其工作。然後,我將ErrorRowDisposition放回失敗,並僅使用更改的數據類型和長度運行它,然後運行。

玩這些選項,看看你是否可以得到它的工作;我假設數據類型改變了它。

相關問題