首先,我已經搜索,搜索和搜索,沒有找到任何幫助我的東西。SSIS截斷錯誤
我有一個SSIS項目,它將從iSeries AS400中獲取大量數據,並在兩個非常不同的步驟中完成這項工作。 第1步完美工作,所以我設法從AS400獲取大量信息,因此連接本身不是問題。
第二步以下三個錯誤代碼可怕的失敗:
[OLE DB Source [41]] Error: There was an error with OLE DB
Source.Outputs[OLE DB Source Output].Columns[NAME] on OLE DB
Source.Outputs[OLE DB Source Output]. The column status returned was: "Text
was truncated or one or more characters had no match in the target code
page.".
[OLE DB Source [41]] Error: The "OLE DB Source.Outputs[OLE DB Source
Output].Columns[NAME]" failed because truncation occurred, and the
truncation row disposition on "OLE DB Source.Outputs[OLE DB Source
Output].Columns[NAME]" specifies failure on truncation. A truncation error
occurred on the specified object of the specified component.
[SSIS.Pipeline] Error: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The
PrimeOutput method on OLE DB Source returned error code 0xC020902A. The
component returned a failure code when the pipeline engine called
PrimeOutput(). The meaning of the failure code is defined by the component,
but the error is fatal and the pipeline stopped executing. There may be
error messages posted before this with more information about the failure.
我都拼命地試圖找到解決這個問題,這是我做了什麼(這並沒有幫助的話):
1 - SOURCE - >選項卡上的高級編輯器:輸入和輸出屬性 - > OLE DB源輸出 - >輸出列更改爲 a)長度40(從28) - 無變化 b)數據文本) - 完全崩潰 c)將代碼頁從1251更改爲UTF-8 - 不更改
2 - 在MSSMS中用OPENQUERY獲取信息,它完美地工作。
3 - 在屏幕上沮喪(沒有幫助)。
我在路邊。我不知道該做什麼了。幫幫我...?
OMG!謝謝!看起來有點危險,但它有效。 –
它應該允許你確定你的值是否超出你定義的字段長度(S)。如果你看到我的意思! - 問題可能不在你的定義中,而是在數據本身..... –
@ Mr.Glaurung ...這可能(可能)不是一個永久的答案......它應該是Supa Stix爲你提供的一種方式找出不匹配的地方 – Charles