Annoying x80040E21 & x80040E24 errors
If you are performing a simple process to import a data using a DTS package in SQL 2000 or an SSIS package in SQL 2005, you might be very familiar with errors such as "x80040E21 & x80040E24". To put more in the sense of real error it will be "Microsoft OLE DB Provider for ODBC Drivers error '80040e21' " or "Microsoft OLE DB Provider for ODBC Drivers error '80040e24'.
With the error text there will be an associated message attached such as ODBC driver does not support the requested properties or The application is using a value of the wrong type for
the current operation.
There will be many scenarios attached to say why you are getting this error within an ETL process. For instance when using Access ODBC driver the process within the import data will involve the server side cursor attempting to update the recordset by updating or inserting new data is not allowed. With the case of ADO this is behaved differently by ignoring the placement of delimeters on the field names that will cause this error, for further explanation on the Data Access components related articles refer to KBAlertz list of reference.
There are a number of causes for this type x800.. of error. Consult the list and process you are adopting and try to narrow down the list of possible causes. These are the causes I can think of:
- Error occurs when trying to open an ADO connection
- Error occurs inserting data into Access, where a fieldname has a space
- Error occurs inserting data into Access, when using adLockBatchOptimistic
- Error occurs inserting data into Access, when using Jet.OLEDB.3.51 or ODBC driver (not Jet.OLEDB.4.0)
- Error occurs when using a Command object and Parameters
For further explanation on the root cause and resolution on these errors refer to the articles:
why-do-iget-80040e21 errors
why-do-iget-80040e24 errors