Question: I've been banging my head against
SQL Server 2005
trying
to get a lot of data out. I've been given a database with nearly 300
tables in it and I need to turn this into a MySQL database. My first
call was to use bcp but unfortunately it doesn't produce valid CSV -
strings aren't encapsulated, so you can't deal with any row that has a
string with a comma in it (or whatever you use as a delimiter) and I
would still have to hand write all of the create table statements, as
obviously CSV doesn't tell you anything about the data types.
What would be better is if there was some tool that could connect to
both SQL Server and MySQL, then do a copy. You lose views, stored
procedures, trigger, etc, but it isn't hard to copy a table that only
uses base types from one DB to another... is it?
Does anybody know of such a tool? I don't mind how many assumptions it makes or what simplifications occur, as long as it supports integer, float, datetime and string. I have to do a lot of pruning, normalising, etc. anyway so I don't care about keeping keys, relationships or anything like that, but I need the initial set of data in fast!
Solution: Using MSSQL Management Studio i've transitioned tables with the MySQL OLE DB. Right click on your database and go to "Tasks->Export Data" from there you can specify a MsSQL OLE DB source, the MySQL OLE DB source and create the column mappings between the two data sources.
Does anybody know of such a tool? I don't mind how many assumptions it makes or what simplifications occur, as long as it supports integer, float, datetime and string. I have to do a lot of pruning, normalising, etc. anyway so I don't care about keeping keys, relationships or anything like that, but I need the initial set of data in fast!
Solution: Using MSSQL Management Studio i've transitioned tables with the MySQL OLE DB. Right click on your database and go to "Tasks->Export Data" from there you can specify a MsSQL OLE DB source, the MySQL OLE DB source and create the column mappings between the two data sources.
You'll most likely want to setup the database and tables in advance
on the MySQL destination (the export will want to create the tables
automatically, but this often results in failure). You can quickly
create the tables in MySQL using the "Tasks->Generate Scripts" by
right clicking on the database. Once your creation scripts are
generated you'll need to step through and search/replace for keywords
and types that exist in MSSQL to MYSQL.
Of course you could also backup the database like normal and find a utility which will restore the MSSQL backup on MYSQL. I'm not sure if one exists however.
Of course you could also backup the database like normal and find a utility which will restore the MSSQL backup on MYSQL. I'm not sure if one exists however.
No comments:
Post a Comment