* Oracle Data Provider
- Exists in namespace System.Data.OracleClient and assembly System.Data.OracleClient
- Works on Windows
- Works with Oracle 8i
- More information about Oracle can be found at here
* Current Status
- OracleConnection can connect to an Oracle 8i database on
Windows via oci.dll
- The native glue library only has makefiles for Borland C++ and
Microsoft Visual C++ command line compilers. Only the makefile for
Microsoft Visual C++ command-line compiler has been tested.
- Can execute simple DML SQL statements, such as,
INSERT a row into the EMP table via the OracleCommand's ExecuteNonQuery method
- The System.Data.OracleClient.dll assembly can be built with mcs/mono via
the makefile.gnu for System.Data.OracleClient or csc/.net via the
System.Data.OracleClient.build nant build file. There is also a Visual Studio.NET
solution it too.
* Action Plan
- Get the makefile for the Borland C++ compiler to work
since the Borland C++ compiler is
a free download
- Get the native glue lib System.Data.OracleClient.ocigule.dll to be built
using gcc on Linux. This would require that Oracle 8i client software be installed
on Linux with the oci headers and shared libraries
- Be able to retrieve results via a data reader
- Parameters support
- Stored Procedures, Functions, and Packages support
- Be able to fill a DataTable in a DataSet via a data adapter
- Support for Oracle 9i
- Figure out how to move the unmanaged OCI handling code in
the oci glue C library to the managed C# assembly. I have been unable
to successfully connect to an Oracle 8i database by using Platform Invoke and
Marshalling in C# to the oci shared library (oci.dll on Windows)