Mysql – SSIS: copy tables from MySQL to SQL Server 2008

MySQLsql-server-2008ssis

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?

Best Answer

"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