Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

SSIS: copy tables from MySQL to SQL Server 2008

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?

like image 690
Daniel Sh. Avatar asked May 09 '12 11:05

Daniel Sh.


People also ask

How to migrate data from MySQL to MSSQL using SSIs?

There are various ranges of tasks as per their functions. Below are the steps for the data migration process from MySQL to MSSQL through SSIS: Open the ODBC data source. Click on add and select MySQL ODBC driver option as shown and click on Finish. Enter the related details for source database like TCP (IP) Server Name, Login ID and Password.

How do I use CDATA SSIs tasks for MySQL inside SSIs workflow?

This example demonstrates how to use the CData SSIS Tasks for MySQL inside of a SQL Server SSIS workflow to transfer MySQL data into a Microsoft SQL Server database. To get started, add a new MySQL source and SQL Server ADO.NET destination to a new data flow task.

How do I populate a MySQL database using SSIs?

In the Data access mode menu, select "table or view". In the Table Or View menu, select the table or view to populate. Configure any properties you wish to on the Mappings screen. You can now run the project. After the SSIS Task has finished executing, your database will be populated with MySQL data.

How do I load MySQL data into a SQL Server table?

Follow the steps below to specify the SQL server table to load the MySQL data into. Open the ADO.NET Destination and add a New Connection. Enter your server and database information here.


1 Answers

"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

like image 139
Diego Avatar answered Sep 22 '22 14:09

Diego