README.TXT for Mono Oracle 8i data provider
Located at
mcs/class/System.Data.OracleClient
Requirements:
1. C#/CLR compiler. (only tried with Visual Studio.NET)
to build the OracleClient assembly.
2. C compiler (only tried with the command-line c compilers
Borland C++ 5.5 and Visual C++ 7.0) that can build
the OracleClient glue shared library.
A free command-line
version of the Borland C++ 5.5 compiler
for Win32 can be downloaded
from http://www.borland.com/
3. Oracle 8i client software via either of the following:
a. Oracle 8i client with access to an Oracle 8i database
b. Oracle 8i server
Either one, the client software needs to include the
oci shared library. This is oci.dll on Win32.
Oracle 8i can be downloaded from
http://www.oracle.com/
4. GLIB 2.0. You should already have this installed since
Mono requires it. It can be downloaded from
http://www.gtk.org/
or for Win32, it can be downloaded from
http://www.gimp.org/win32
Notes:
I seriously doubt this will build within the
mcs/class/System.Data.OracleClient directory
structure. Maybe, moving the project files to
a simpler directory structure may help.
There are two parts:
1. assembly System.Data.OracleClient.dll which
includes files OracleCommand.cs and OracleConnection.cs
2. unmanaged System.Data.OracleClient.ociglue.dll which
must be built with a compiler that can link with the
oci shared library. On Windows,
the Oracle shared library oci.dll
This shared library provides the glue between
System.Data.OracleClient.dll and oci.dll
How to build the various parts:
1. System.Data.OracleClient.dll is built
using Visual Studio.NET 1.0 via its projects files
I have not tried building it
via only the .NET Framework 1.0 command-line tools.
2. System.Data.OracleClient.ociglue.dll is built by the
C compiler that can build a native c shared library
that can link with the Oracle 8i oci shared libary and
the GLIB 2.0 shared library. A Makefile for
command-line compilers for Borland C++ 5.5
and Visual C++ 7.0 I have only tried building this
on Windows XP.
TODO:
1. get the OracleClient assembly to run on mono
2. get the OracleClient glue lib to build with mcs on mono
3. get the OracleClient to build with gcc
4. get the OracleClient assembly and glub lib to
build with mcs on mono and run on mono on GNU/Linux
5. Add transactions
6. Add a data reader and retrieve simple data types
7. Add parameters (binding variables)
8. Add a data adapter
9. add connection pooling support
10. add more complex types
11. add support for stored procedures, functions, and packages
12. add support for security permissions
13. add ability to execute queries in SQL# CLI
14. add ability to execute queries in SQL# For GTK#