[SSIS]AS/400-SSIS 2005/2008 Data Flow 錯誤碼0x80040E00 處理方式.

摘要:[SSIS]AS/400-SSIS 2005/2008 Data Flow 錯誤碼0x80040E00 處理方式.

處理AS/400 DB2 Part 2 .
今日進行POC 轉DB2資料時在資料流程中的來源端發生 An OLE DB error has occurred. Error code: 0x80040E00 錯誤
查了一下資料發現討論區中的人在詢問此問題.看完人家討論文章後發現.這是跟AS/400有關係
文章寫道:

IBM 說明文章
http://www-912.ibm.com/n_dir/nas4apar.NSF/c79815e083182fec862564c00079d117/a802b6eb29d32cac8625726c0041efc9?OpenDocument

Abstract
CA400EXP-OLEDB-INCORROUT Error 0x80040E00 in SQLServer SSIS

Error Description
In Visual Studio 2005, when creating an SSIS package for use    
with MS SQL Server 2005, if a Data Flow task using IBMDASQL is  
set to use SQL Command, the task fails with:                    
意思是使用SSIS中的資料流程時用SQL 命令會發生下列錯誤
          Error: An OLE DB error has occurred. Error code: 0x80040E00.   
總結:
如果是DB2的OS 是i5/OS在SSIS 的DATA FLOW 使用IBMDASQL OLE DB Provider 連接DB2時,並且用SQL 命令.會發生
Error: An OLE DB error has occurred. Error code: 0x80040E00.   
Error: The PrimeOutput method on component "OLE DB Source"(1)  
returned error code 0xC0202009. The component returned a       
failure code when the pipeline engine called PrimeOutput(). 

解決方法:
1.更新AS/400 OS PTF
This PTF fixes the reported problem.                            
PTFs Available
R530 SI30707
R540 SI26879

2.使用ODBC 連接DB2

相關連結:
http://social.msdn.microsoft.com/Forums/en-US/sqlintegrationservices/thread/21646e0b-d742-467a-8880-255ebf198c46
http://www-912.ibm.com/n_dir/nas4apar.NSF/c79815e083182fec862564c00079d117/a802b6eb29d32cac8625726c0041efc9?OpenDocument
但改用ODBC連接DB2時面對大量資料處理是非常沒有效率的.因此如果在資料量很大(超過50萬筆建議更改為下列方法處理)

 a.透過db2 Iservices 將大量檔案匯出為文字檔
 b.使用Bluk Insert 方式處理資料
相關連結如下:
http://blog.stevienova.com/2009/05/20/etl-method-fastest-way-to-get-data-from-db2-to-microsoft-sql-server/#comments





 

 

 

 

 

請大家永躍參與Facebook MSBI 粉思團:http://www.facebook.com/#!/group.php?gid=303757165010