[Mono-list] OleDb Implementation

Mark Easton measton@tebiki.co.uk
Mon, 1 Sep 2003 20:11:12 +0100


I'm trying to understand how Mono's implementation of the OleDb managed
Provider works and thought I'd run things past the list to see if
someone can either corroborate or correct my understanding.

The MS OleDb managed provider relies on Oledb drivers (which are
technically known as OleDb providers) which must be implemented using a
variety of COM interfaces and are therefore pretty much tied to the MS
platform.

While the Mono OleDb managed provider externally appears to be
equivalent to the MS managed provider, it is in reality a libGDA managed
provider masquerading as the OleDb managed provider.  This means it can
be used with any data sources for which there exists a libGDA provider.
However, as a libGDA connection string is not identical with the
equivalent OleDb connection string, if, for example, you wanted to port
an MS.NET app that used OleDb to connect to postgres, at the very least
you would have to change the connection string from the OleDb managed
provider format to the libGDA provider format.

So the question is, am I on the money, or has working with MS software
addled my brain and sent me off up a gum tree?

Mark