2015-01-02 57 views
0

我有一個SSIS包,自從我到達目前的位置之前很久就開始運行,並且它突然開始失敗。雖然我不是SSIS的專家,但我在SQL中查看了s_s_h_data源的視圖,並且看到MTGSIZE字段爲INT,而在s_s_h_Data Acess數據庫中,數據類型爲NUMBER(int)。SSIS錯誤錯誤代碼:0x00040EDA在成功數月後突然發生

我讀過幾篇文章,說如果打開軟件包,雙擊並編輯業務開發工作室中的問題節點,它會強制重新讀取軟件包並「自行修復」這並非我的經驗今天。我搜索了幾個小時,重新啓動了服務器,似乎無法弄清楚問題所在。正在傳輸的表格大約有2000行,並在第7行之後停止。我查看了表格中的第7和第8條記錄,可以看到它們中沒有任何異常。由於它通過了​​7行,我懷疑它是連接或安全相關

我一直試圖找出這超過6小時,我開始感到沮喪。

有沒有任何人可以擺脫指向正確的方向嗎?下面是我得到的下降錯誤。

消息 作爲用戶執行:domain \ sqlsvc。 Microsoft(R)SQL Server執行包實用程序版本10.50.1600.1(32位)版權所有(C)Microsoft Corporation 2010.保留所有權利。
開始:下午3時05分31秒錯誤:2015年1月2日15:05:55.20
代碼:爲0xC0202009
來源:s_s_h_Data OLE DB目標[1361]
說明:SSIS錯誤代碼DTS_E_OLEDBERROR。發生了OLE DB錯誤。錯誤代碼:0x00040EDA。端錯誤
錯誤:2015年1月2日15:05:55.20
代碼:0xC020901C
來源:s_s_h_Data OLE DB目標[1361]
說明:沒有與輸入列 「MTGSIZE」(2036)的誤差輸入「OLE DB目的地輸入」(1374)。返回的列狀態是:「由於潛在的數據丟失,無法轉換該值。」端錯誤
錯誤:2015年1月2日15:05:55.20
代碼:0xC0209029
來源:s_s_h_Data OLE DB目標[1361]
描述:SSIS錯誤代碼DTS_E_INDUCEDTRANSFORMFAILUREONERROR。 「輸入」OLE DB目標輸入「(1374)」因錯誤代碼0xC0209077發生而失敗,並且「輸入」OLE DB目標輸入「(1374)」上的錯誤行配置指定錯誤失敗。指定組件的指定對象發生錯誤。在此之前可能會發布錯誤消息,提供有關失敗的更多信息。結束錯誤
錯誤:2015年1月2日15:05:55.20
代碼:0xC0047022
來源:s_s_h_Data SSIS.Pipeline
說明:SSIS錯誤代碼DTS_E_PROCESSINPUTFAILED。處理輸入「OLE DB目標輸入」(1374)時,組件「OLE DB目標」(1361)上的ProcessInput方法失敗,錯誤代碼爲0xC0209029。標識的組件從ProcessInput方法返回錯誤。該錯誤是特定於組件的,但錯誤是致命的,並且會導致數據流任務停止運行。在此之前可能會發布錯誤消息,提供有關失敗的更多信息。結束錯誤
錯誤:2015-01-02 15:05:55。20
代碼:0xC02020C4
來源:s_s_h_Data OLE DB源[1346]
說明:將一行添加到數據流任務緩衝區的嘗試失敗,錯誤代碼0xC0047020。結束錯誤
錯誤:2015年1月2日15:05:55.20
代碼:0xC0047038
來源:s_s_h_Data SSIS.Pipeline
說明:SSIS錯誤代碼DTS_E_PRIMEOUTPUTFAILED。組件「OLE DB Source」(1346)上的PrimeOutput方法返回錯誤代碼0xC02020C4。當管道引擎調用PrimeOutput()時,組件返回失敗代碼。失敗代碼的含義由組件定義,但錯誤是致命的,並且管道停止執行。在此之前可能會發布錯誤消息,提供有關失敗的更多信息。結束錯誤

DTExec:程序包執行返回DTSER_FAILURE(1)。
已開始:3:05:31 PM完成:3:05:55 PM
已用時間:23.93秒。
程序包執行失敗。
該步驟失敗。

增加附加信息

後附加的挖掘,似乎之前在「查看歷史」中列出的一個「真正」的錯誤。如果我打開打包並點擊調試,我看到這個錯誤。

信息:0x4004300A在s_s_h_Data,SSIS.Pipeline:驗證階段開始。 警告:清除時0x0 s_s_h_Data:多步OLE DB操作產生錯誤。檢查每個OLE DB狀態值(如果可用)。沒有工作完成。 警告:清除時0x0 s_s_h_Data:多步OLE DB操作產生錯誤。檢查每個OLE DB狀態值(如果可用)。沒有工作完成。 錯誤:清除s_s_h_Data時出現0xC002F210,執行SQL任務:執行查詢「從s_s_h_Data中刪除」失敗,並出現以下錯誤:「無法從指定表中刪除」。可能的失敗原因:查詢問題,「ResultSet」屬性設置不正確,參數設置不正確或連接未正確建立。 任務失敗:清除s_s_h_Data 警告:0x80019002在sData:SSIS警告代碼DTS_W_MAXIMUMERRORCOUNTREACHED。執行方法成功,但引發的錯誤數量(1)達到允許的最大值(1);導致失敗。當錯誤數量達到MaximumErrorCount中指定的數量時會發生這種情況。更改MaximumErrorCount或修復錯誤。 完成SSIS包「sData.dtsx」:失敗。

奇怪,如果我「測試」他們的工作的連接,但如果我嘗試在調試時執行SQL任務,我得到上述錯誤。這個特定的行將刪除Access表中的數據,並將其下一步將數據插入到同一個表中。 Access數據庫中的表沒有特定的權限,即使它看起來可能是許可權。

+0

」在輸入「OLE DB Destination Input」(1374)時輸入列「MTGSIZE」(2036)出現錯誤,返回的列狀態爲:「由於數據可能丟失,無法轉換該值。 「 - 太長,或錯誤的數據類型.... –

+0

我確實看到了這是爲什麼我確保兩個字段INTs。最大的數字是在70K以下,所以我懷疑這是INT vs BIGINT的問題,那麼還有什麼可能導致類似INT到NUMBER的錯誤(訪問INT)如果是VARCHAR,我會得到它 – Lance

+0

它失敗(檢查你的SQL代理日誌)。在這一天出現哪些數據可能會導致此錯誤?改變選擇查詢以選擇性地忽略行(使用where子句),直到找到導致錯誤的行。 –

回答

0

我會指出Access int所允許的值遠小於SQL Server int所允許的值;他們更像小int。所以是的,這個錯誤是完全可能的。 「

+0

謝謝我確實看到了這一點,並且我已將訪問數據庫更改爲「長整數」。請參閱我在問題中發佈的附加信息,因爲從BIDS/SSIS運行時,我現在得到了一些不同的結果,而不是從運行作業的SQL代理運行時的結果 – Lance

+1

這不提供問題的答案。要批評或要求作者澄清,請在其帖子下方留言。 –

+1

@Sahuagin它確實回答了提出的原始問題。我知道何時發表評論以及何時回覆。 – HLGEM