Convert SQL Server database to MySQL
I have an application database on SQL Server 2008 Express on my dedicated server. It's not enough for my web app.
- Are there any good free conversion tools that will enable me to convert my current SQL Server database to MySQL on my server.
- Will my web app be able to work the same?
There isn't enough information in the question, as it stands, to really address the many issues around whether the web app will work the same.
The easy part will be porting the schema and data over to another RDBMS. SQL Server has a great set of Generate Scripts commands to generate CREATE TABLE statements. You'll be able to create INSERT statements as well for your data, all through SQL Management Studio.
The challenge comes when moving your application over.
- what's the data access strategy? Is it all ADO.NET prepared/built statements, or is it stored procedures? LINQ to SQL perhaps?
- the SQL statements within: to what degree are they ANSI standard, and how reliant is the SQL on TSQL-specific keywords? The answers here will point to the amount of work needed to move the SQL statements and logic to the new RDBMS.
- does the app rely on any SQL Server specific features or features that MySQL doesn't have? What's the cost of rewriting the code to fit into MySQL?
- hopefully the app uses a centralized connection string. That'll need changing, and hopefully it's in the web.config. If it's hardcoded in the data-access code, then it's a game of find+replace.
The short answer to the second question is that you will NOT be able to just implement your data in a new RDBMS and have the application work. It'll have to be recompiled to use new data access libraries (ADO.NET for MySQL).
All in all, it can of course be made to work the same, but the effort needed isn't small, and 100% dependent on the code.