[Mono-list] RE: Tentative Gda query/request

Daniel Morgan danmorg@sc.rr.com
Fri, 7 Feb 2003 11:12:47 -0500

Rodrigo, the maintainer of libgda could speak more about the Oracle provider
in libgda.

As for the Oracle provider in Mono, it basically was just a start.  It can
only connect and
do very simple statements like INSERTs.  The Oracle provider is found in the
mcs source at
mcs/class/System.Data.OracleClient.  It uses the OCI (Oracle Call Interface)
shared library.
Because I could not figure out how to platform invoke via DllImport
attributes into oci properly, I decided to create a shared library written
in C.  This C library uses glib 2.0 and provides the glue between Oracle's
oci shared library and the managed System.Data.OracleClient.dll assembly.  I
have only tested it on Windows XP Professional using the Microsoft Visual
C++ command-line compiler.  There is a makefile for the Borland C++
command-line compiler which is a free download from http://www.borland.com/
however, I have not tested it. I would have liked to do this on Linux with
gcc, but I don't have another machine to install both Linux and Oracle.

-----Original Message-----
From: Tim Coleman [mailto:tim@timcoleman.com]
Sent: Thursday, February 06, 2003 10:13 PM
To: Darren Tuer
Cc: danmorg@sc.rr.com; mono-list@ximian.com
Subject: Re: Tentative Gda query/request

On Fri, Feb 07, 2003 at 11:48:37AM +1000, Darren Tuer wrote:
> Tim,
> I was wondering if you would be kind enough to spare some time to assist
> with a request.
> I have been following the mono:: project for many months now, and have
> tinkering with it for some time.  I've been quietly porting one of our key
> applications to use mono as a way of showcasing the possibilities that
> opens up for us.
> For some weeks now I have been endevouring to set up communication with an
> Oracle 8.1.7 database to no avail.  I have downloaded unixODBC, iODBC and
> trolled the net looking for ODBC drivers for Oracle that aren't tragically
> crippled like the current offerings from OpenLink and DataDirect.  I have
> had quite some level of success with setting up the Oracle client on the
> client machine, and can work with the database via SQLNet so I know that
> Net8 stuff is all fine & dandy on the client machine ( a linux box running
> RedHat 8)
> I have pretty well given up on using ODBC and are now looking at libgda as
> the means of communication ( probably the better of the two anyway ).
> However, after downloading all the libgda sources and RPM's from the
> ftp site, I note that there is no sign of an Oracle provider for gda.
> In desperation I was trolling through the mono mailing lists and noted
> there was an email stating that you had developed just such an oracle
> provider.  Normally I would just continue to search without emailing
> who probably get far too much email to wade through anyway, but I've
> rather desperate.
> I was wondering if you could let me know where I could possibly obtain a
> copy ?

I haven't actually worked on the provider since the summer, but it
should be there.  It is possible that you are working with an older
version.  I'm not sure if the version of libgda which contains the
Oracle provider is available in Red Hat 8.  You might also need to
download a separate package to get the Oracle provider. I believe
this is the case on debian.

Check out http://www.gnome-db.org for more information.

One thing you might find interesting is that Daniel Morgan
(danmorg@sc.rr.com) was working on a Mono Oracle provider.
I'm not sure how far along he got with it.  I would really
like to see that project succeed.  It uses the Oracle Call
Interface as a shared library, without using libgda at all.
We wish to implement the Microsoft .NET Framework 1.1
System.Data.OracleClient namespace at some point.

If you have any other questions, please feel free to send me more


Tim Coleman <tim@timcoleman.com>                       [43.43 N 80.45 W]
BMath, Honours Combinatorics and Optimization, University of Waterloo
Software Developer, Global Services, Open Text Corporation
"Under capitalism, man exploits man.  Under communism, it's just the
 opposite." -- J.K. Galbraith