SSIS: copy tables from MySQL to SQL Server 2008

5

I'm getting an error while trying to copy 4 tables from a MySQL source to SQL Server 2008.

Here's a photo of the Data Flow, as you can see, 2 of them are OK (the smaller ones)

enter image description here

With an OnError event handler I'm able to see the errors. Here they are.

SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E21. An OLE DB record is available. Source: "Microsoft SQL Server Native Client 10.0" Hresult: 0x80040E21 Description: "Multiple-step OLE DB operation generated errors. Check each OLE DB status value, if available. No work was done.".

There was an error with input column "FechaHoraCorteAgente" (884) on input "OLE DB Destination Input" (510). The column status returned was: "Conversion failed because the data value overflowed the specified type.".

SSIS Error Code DTS_E_INDUCEDTRANSFORMFAILUREONERROR. The "input "OLE DB Destination Input" (510)" failed because error code 0xC020907A occurred, and the error row disposition on "input "OLE DB Destination Input" (510)" specifies failure on error. An error occurred on the specified object of the specified component. There may be error messages posted before this with more information about the failure.

SSIS Error Code DTS_E_PROCESSINPUTFAILED. The ProcessInput method on component "OLE DB Destination 2" (497) failed with error code 0xC0209029 while processing input "OLE DB Destination Input" (510). The identified component returned an error from the ProcessInput method. The error is specific to the component, but the error is fatal and will cause the Data Flow task to stop running. There may be error messages posted before this with more information about the failure.

The component "ado net conptacto" (1) was unable to process the data. Exception from HRESULT: 0xC0047020

The component "ADO NET logllamados" (482) was unable to process the data. Exception from HRESULT: 0xC0047020

SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "ado net conptacto" (1) returned error code 0xC02090F5. 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. There may be error messages posted before this with more information about the failure.

SSIS Error Code DTS_E_PRIMEOUTPUTFAILED. The PrimeOutput method on component "ADO NET logllamados" (482) returned error code 0xC02090F5. 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. There may be error messages posted before this with more information about the failure.

Any idea of what's going on in here?

mysql
sql-server-2008
ssis
asked on Stack Overflow May 9, 2012 by Daniel Sh. • edited Jun 20, 2020 by Community

3 Answers

5

"Conversion failed because the data value overflowed the specified type." seems pretty obvious, you are trying to insert something where it doesn't fit. I suggest you compare all your source columns with destination columns and make sure that:

  • lengths are enough
  • data types are compatible

you can post your tables' structures if you would like a hand on that

answered on Stack Overflow May 9, 2012 by Diego
3

Source column has 0000-00-00 in a datetime field. So there was the error.

Created a Derived Column with the expression:

(DT_DBTIMESTAMP)(DAY([FechaHoraCorteAgente]) == 0 ? NULL(DT_DBTIMESTAMP) : [FechaHoraCorteAgente])
answered on Stack Overflow May 9, 2012 by Daniel Sh.
2

It's a failure at source, If the package fails while inserting at the destination, that's easily solvable. I have come across many situations where the source data is larger than what SSIS source is expecting to see.

I think when you create the source, SSIS automatically samples the input data to see the maximum length. But what if that maximum length were to be exceeded? That's where I see most of the problems relating to overflow.

Also, many a times when dealing with poorly handled source data, you would see a character data in a date time field. Such a scenario would also spoil the package.

answered on Stack Overflow May 9, 2012 by rvphx • edited May 9, 2012 by Jonathan Leffler

User contributions licensed under CC BY-SA 3.0