0x80040E21 Error Code was abused - by sxd

Status : 

  External<br /><br />
		This item may be valid but belongs to an external system out of the direct control of this product team.<br /><br />
		A more detailed explanation for the resolution of this particular item may have been provided in the comments section.


1
0
Sign in
to vote
ID 275887 Comments
Status Closed Workarounds
Type Bug Repros 1
Opened 5/5/2007 3:09:10 PM
Access Restriction Public

Description

I am writing a OLE DB Provider to import data into SQL Server database using SSIS.

I have seen error code 0x80040E21 many times with little helpful information.

I ran into a problem when the string column was defined as varchar (9000) in another db but it actually has only 10 characters. If the column is limited to 8000 and fewer, there is no problem.

The following are the messages:

Operation stopped...

- Initializing Data Flow Task (Success)

- Initializing Connections (Success)

- Setting SQL Command (Success)

- Setting Source Connection (Success)

- Setting Destination Connection (Success)

- Validating (Success)

- Prepare for Execute (Success)

- Pre-execute (Success)

- Executing (Error)
	Messages
	* Error 0xc0202009: Data Flow Task: An OLE DB error has occurred. Error code: 0x80040E21.
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0208265: Data Flow Task: Failed to retrieve long data for column "Name".
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc020901c: Data Flow Task: There was an error with output column "Name" (20) on output "OLE DB Source Output" (11). The column status returned was: "DBSTATUS_UNAVAILABLE".
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0209029: Data Flow Task: The "output column "Name" (20)" failed because error code 0xC0209071 occurred, and the error row disposition on "output column "Name" (20)" specifies failure on error. An error occurred on the specified object of the specified component.
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0047038: Data Flow Task: The PrimeOutput method on component "Source - cust" (1) returned error code 0xC0209029.  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.
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0047021: Data Flow Task: Thread "SourceThread0" has exited with error code 0xC0047038.
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0047039: Data Flow Task: Thread "WorkThread0" received a shutdown signal and is terminating. The user requested a shutdown, or an error in another thread is causing the pipeline to shutdown.
	 (SQL Server Import and Export Wizard)
	
	* Error 0xc0047021: Data Flow Task: Thread "WorkThread0" has exited with error code 0xC0047039.
	 (SQL Server Import and Export Wizard)
	

- Copying to [TestDB].[dbo].[cust] (Stopped)

- Post-execute (Success)
	Messages
	* Information 0x402090df: Data Flow Task: The final commit for the data insertion has started.
	 (SQL Server Import and Export Wizard)
	
	* Information 0x402090e0: Data Flow Task: The final commit for the data insertion has ended.
	 (SQL Server Import and Export Wizard)
	

- Cleanup (Success)
	Messages
	* Information 0x4004300b: Data Flow Task: "component "Destination - cust" (31)" wrote 0 rows.
	 (SQL Server Import and Export Wizard)
	



What is the problem? How do get it resolved?

Any help you could provide with will be greatly appreciated.

Sign in to post a comment.
Posted by vonpato on 2/3/2009 at 11:47 AM
Hi:

I had the same problem, and I fixed using a Data Conversion Task the data types from this OLE.DB connection I changed to:

From:                                                 To:
Unicode string [DT_WSTR]                 String [DT_STR]

But if you have a Note Field, you'll have this error:
Conversion from "DT_NTEXT" to "DT_STR" is not supported.

Thanks and Regards.
vonpato@yahoo.com
Posted by Microsoft on 11/6/2007 at 2:52 PM
The error 0x80040E21 is not an SSIS error but an OLE DB error for "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done." SSIS will show that error when it is returned by OLE DB (as with any OLE DB error), but cannot control how often OLE DB providers make sure of that error. We will continue to improve SSIS by having it report back what it
is attempting to do when an OLE DB error is reported back. For example, in your scenario with the

Import / Export Wizard:

* Error 0xc0202009: Data Flow Task: An OLE DB error has occurred. Error code: 0x80040E21.
(SQL Server Import and Export Wizard)

* Error 0xc0208265: Data Flow Task: Failed to retrieve long data for column "Name".
(SQL Server Import and Export Wizard)

The Wizard is reporting that it is attempting to retrieve data for the Name column when OLE DB reports back 0x80040E21.