[Mono-list] Moving from SQL Server to MySQL

Rodrigo Moya rodrigo@ximian.com
17 Jan 2003 13:37:37 +0100


On Fri, 2003-01-17 at 00:52, Gabriel & Emily Bin wrote:
> Hey, this is my first post to the Mono list!  I'm totally stoked about this
> project.  As a recent convert from windows to Linux, I'm totally stoked
> about moving our in-house apps over to run on Linux boxes.  All our apps are
> being re-written in C# or VB.NET.  Currently all systems are running
> windows, from the clients to the server.  Switching the apps over to Linux
> shouldn't (if the promise of Mono pans out - I'm crossing my fingers) be
> that big of a deal.
> 
> We are starting a new web app and are trying to migrate databases from SQL
> Server to MySQL. I'm still a little unclear about how that might be done.  I
> 've come up with the following solution and was wondering if anyone with
> experience in this area might help me before we write tons of code based on
> a hope alone.
> 
> This is what I've com up with:
> (based on what I read at
> http://lists.ximian.com/archives/public/mono-list/2003-January/004903.html)
> 
> I could use a function whenever I needed a connection object.  The key is
> using System.Data.IDbConnection as an interface between the different types
> of connection objects (SQL and MySQL).
> 
> 
> ***** Start
> Imports System.Data
> Imports System.Data.SqlClient
> Public Module DataLayer
>     Public Function BizConnection() As System.Data.SqlClient.SqlConnection
>         Dim dbcon As IDbConnection = New SqlConnection()
>         Return dbcon
>     End Function
> End Module
> ***** End
> 
> 
> Then I could work with the SqlConnection just as I would at any other time.
> 
> 
> ***** Start
> Dim scon As SqlConnection = DataLayer.BizConnection()
> ***** End
> 
> 
> When we change the database we could then change the module.
> 
> 
> ***** Start
> Imports System
> Imports System.Data
> Imports System.Data.SqlClient
> Imports Mono.Data.MySql
> Public Module DataLayer
>     Shared Function BizConnection() As SqlConnection
>         Dim dbcon As IDbConnection = New MySqlConnection()
>         BizConnection = dbcon
>     End Function
> End Module
> ***** End
> 
> Would this work?  I'd test it but we can't wait around to set up a MySQL
> server and get Mono running etc.
> 
I think what you want is the data multiplexor developed by Brian, which
is in the Mono.Data assembly. It contains classes to do generic
connections to different data providers.

cheers
-- 
Rodrigo Moya <rodrigo@ximian.com>