Question

We get a MYSQL 5.0 dataset each month (1.7gig) and I need to create a process to migrate this to a SQL Server 2008.

This seems a little harder than I first thought...

I've tried a few ways:

  1. Using the Import wizard
  2. Setting up a linked server

I've also tried different ways:

  1. Using the .net Framework Dataprovider for MYSQL
  2. Using MYSQL ODBC 5.1 driver.

If I try options 1 + 1 (Wizard, using odbc), I get "unable to retrieve column information", Option 2 + 4, I get a message: "Cannot get the column information from OLE DB provider "MSDASQL" for linked server "server name"."

This feels like a cache, or size issue, because if I limit the rows I return to less than 300,000 it works. This is more annoying as the main table is over 1.2 million rows.

So my questions two parts: Am I doing this the right or wrong way, and have I missed something obvious?

Was it helpful?

Solution

You can use SQL Server Integration Services to connect to the MySQL database and pull the data you need over. The SSIS team blog has a walk-through for connecting to MySQL at Connecting to MySQL from SSIS. Once you build your SSIS package, you can re-use it each time you get a new data dump.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top