[Mono-list] Re: Gda in Mono

Chris Podurgiel cpodurgiel@msn.com
Thu, 14 Feb 2002 08:06:39 -0600

When it comes to talking directly to the database, this is beyond my 
knowledge. When I started working on System.Data, I intended to let the 
smarter people write the Managed Provider classes, as I would work on the 
classes that offered "in memory" tables, rows, constraints, etc.

The ideas you mention here, follow my thoughts exactly.  I think that having 
a managed provider for Gda is a great way to provide access to Databases on 
Linux.  However, I would like to throw this into the mix.  What about access 
to Databases on Windows?  Is it going to be possible to implement 
System.Data.OleDB and System.Data.SqlClient in Mono?

----Original Message Follows----
From: Daniel Morgan <danmorg@sc.rr.com>
To: Rodrigo Moya <rodrigo@gnome-db.org>
CC: Chris Podurgiel <cpodurgiel@msn.com>
Subject: Gda in Mono
Date: 14 Feb 2002 07:54:09 -0500

Hello Rodigo,

Here is my thoughts on Gda in Mono.

Data Access in Mono Using Libgda

I have two ways we can approach Mono using GDA.

1. Create a "generic" Gda provider that uses libgda as the basis for
connecting.  This is like the System.Data.OleDb namespace which provides
a generic OleDb provider for all those "legacy" OLE-DB database
providers.  I think this was done as a way to connect to a database in
.net until the database vendor creates a provider that directly connects
to the database.

There are interfaces (pure abstract classes), such as, IDbConnection,
IDbCommand, IDbDataReader, etc.. that can be implemented for Gda.  They
could be in a namespace System.Data.Gda.

The System.Data.OleDb namespace implements interfaces IDbConnection,
IDbCommand, IDbDataReader, etc... as OleDbConnection, OleDbCommand, and
OleDbDataReader, etc..

Chris Podurgiel cpodurgiel@msn.com has provided the foundation for
System.Data in Mono.  This includes the interfaces mentioned above.

2. Using the ideas in libgda, create a provider for each database
engine.  This way, each provider is implemented in C# and would be
directly using the database engine's library instead of going through a

On a side note, creating a Provider in C# for Oracle 9i would be fun
since Oracle 9i has the OCCI which is new in Oracle 9i.  OCCI is the C++
library that uses OCI to create applications.

Using the interfaces provided in the System.Data namespace, create a
provider "directly" to that database engine's library.

For Oracle, you could have System.Data.Oracle with classes, such as,
OracleDbConnection, OracleDbCommand, OracleDbDataReader, etc...

Note, I didn't mention anything about ADO.NET, ASP.NET, GNOME, GNOME-DB,
nor GUI.  I'm only interested in the data access like the libgda
provides.  The GUI data bound functionality found in ADO.NET and ASP.NET
can be later provided in GNOME-DB.  However, I'm not even going to touch
this until we get our System.Windows.Forms and System.Data.Gda working.

These are just my ideas.  They don't have to be followed at all, but you
want to, you are free to use them at will.  I would like to hear what
you or anybody else thinks about data access in Mono.

Join the world’s largest e-mail service with MSN Hotmail.