[Mono-list] Sybase and Microsoft SQL Server database support in Mono ADO.NET

Tim Coleman tim@timcoleman.com
Wed, 16 Oct 2002 10:43:10 -0400

On Wed, Oct 16, 2002 at 09:59:25AM -0400, Daniel Morgan wrote:
> Hey,
> Currently, ADO.NET in Mono does not support Sybase nor Microsoft SQL Server.
> Unless, you want to use System.Data.Odbc with unixODBC with FreeTDS on
> Linux, System.Data.OleDb with libgda with FreeTDS on Linux, or with the
> native ODBC support and MDAC on Windows.  However, this adds a lot of
> dependencies, configurations, and another layer for data to have to travel
> degrading performance.
> I would like to create a provider for Microsoft SQL Server in
> System.Data.SqlClient and for Sybase in Mono.Data.SybaseClient.  It will use
> the native FreeTDS libraries to provide this capability.  In order to use
> FreeTDS, we will need to create C# bindings to FreeTDS.
> [...]
> The best approach is to create a pure managed provider in C#, but who has
> the time to implement the TDS protocol in C#?  In the meantime, we can use
> the native FreeTDS libraries for this.
> There is jTDS at http://www.freetds.org/ but that involves time porting from
> Java/JFC/JDBC to the C#/.NET/ADO.NET stuff.
> [...]
> The importance for FreeTDS and Mono running on Windows is that a developer
> may have only one machine (me) to develop Mono, and Microsoft SQL Server
> only runs on Windows.  So, the development would have to be done on Windows.
> Anybody willing to help?

At one point in the past I looked at creating a libgda provider for
FreeTDS.  Unfortunately, I ran out of time :).  I would like to help
create a provider for FreeTDS in mono.  I'm not sure that going through
libgda is the correct approach though.

I do have Windows and Microsoft SQL Server, however I don't see why
developing a SQL Server provider requires development to be done on
Windows.  It would require that the developer have SQL Server available
on a network, but that's all. 

I haven't looked at the FreeTDS source in a while, so I don't know how
difficult it would be to implement a native provider in C#.

Since I'm trying to get back into mono development, I would be
interested in helping out.

Tim Coleman <tim@timcoleman.com>                       [43.28 N 80.31 W]
BMath, Honours Combinatorics and Optimization, University of Waterloo
"Under capitalism, man exploits man.  Under communism, it's just the
 opposite." -- J.K. Galbraith