Error: DTS_E_OLEDBERROR / DTS_E_PRIMEOUTPUTFAILED
I suspect (and from my experience) the deadlock is not guaranteed to go away by breaking the execution into smaller batches. Instead, I suggest to try using first this: set the target table to not to lock in the OLDEDB editor as explained in this article: http://msdn.microsoft.com/en-us/library/ms188439.aspx Please get back to us if you need more troubleshooting. PS: I would ask your DBA admin to profile the database for deadlocking to eliminate the cause from the other/non SSIS package side.Arthur My Blog
January 26th, 2011 12:49am

Hello, i have ETL which downloads Oracle views' data to Staging tables. There is created 5 Data Flow tasks for each foreign country. 4 country downlods in about 15-20 minutes and the last one takes about 2 hours. Everything was fine. But this is the second weekend i have an error. " Code: 0xC0202009 Source: 5 Country OLE DB Source [1] Description: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80004005. End Error Error: 2011-01-22 04:36:10.65 Code: 0xC0047038 Source: 5 country SSIS.Pipeline Description: SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. 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()" On this step i changed retry to 3 times. So two times i get this error. And other two times i get another error. He occurs when 5 country data is successfully loaded and executing "Execute SQL task" which write in another table 1 row (the time when step is finished. using getdate() ). Error: " Code: 0xC002F210 Source: Update ProcessLog 5 Country Execute SQL Task Description: Executing the query "update ProcessLog set ProcessLogCountAfter = ..." failed with the following error: "Transaction (Process ID 75) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction."" Now i think to divide load for this country in small bacthes. For example load data 6 months in a loop. What do you think?
Free Windows Admin Tool Kit Click here and download it now
January 26th, 2011 1:29am

I didn't answer because I have tested ETL for 4 weeks. I divided 5 country Load into small batches. Now i don't get the first error (DTS_E_OLEDBERROR, DTS_E_PRIMEOUTPUTFAILED). But the second problem remains.With each Data Flow i load data to staging table. On OLE DB Destination Editor "Table Lock" option is disabled. Only left "Check constraints". Could be this problem? -------- Data Flow 1 ----- --------- Data Flow 2 -------- | | | | --- Update ProcessLog 4 Country ---- --- Update ProcessLog 5 Country ----- Can anyone explain why i get error: " Code: 0xC002F210 Source: Update ProcessLog 5 Country Execute SQL Task Description: Executing the query "update ProcessLog set ProcessLogCountAfter = ..." failed with the following error: "Transaction (Process ID 75) was deadlocked on lock | communication buffer resources with another process and has been chosen as the deadlock victim. Rerun the transaction."" This task (Update ProcessLog X Country) updates ProcessLog table and only 1 record. If error would be on DataFlow i could agree that problem is with locking. But now i get error in another table. Which contains only about 1000 records.. For that Job i set 4 Retry Attempts. For about 2-3 times i get this error and on the 3th or 4th time loads successfully.
February 26th, 2011 9:34am

Can anybody help me? :)
Free Windows Admin Tool Kit Click here and download it now
March 13th, 2011 12:57pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics