Copyright fix: the owner is Chris, not Novell
[mono.git] / web / oracle
index 921954aef0b1ea1248b32d921efc734cd777418e..a83eb776c35025d9349de80518fcf6768d50159c 100755 (executable)
@@ -8,9 +8,7 @@
 
        <li>Works on Windows and Linux</li>
 
-       <li>Works with Oracle 8i</li>
-
-       <li>Untested, but should work with Oracle 9i</li>
+       <li>Works with Oracle 8i and 9i.</li>
 
        <li>Uses the Oracle CLI (Call Level Interface) which is a C library (API) for the Oracle Client 
                software</li>
@@ -19,8 +17,6 @@
 
        <li>Created by Daniel Morgan and Tim Coleman</li>
 
-       <li>Does not support trusted connections</li>
-
        <li>Bugs with Mono or the data provider should be reported 
        in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>.  If you
        do not have Bugzilla user account, it is free 
 ** Current Status
 
 <ul>
-       <li>OracleConnection can connect and disconnect to an Oracle 8i database on 
+       <li>OracleConnection can connect and disconnect to an Oracle 8i or 9i database on 
        Windows and Linux via OCI (Oracle Call-level Interface)</li>
        
-       <li>No longer uses a glue library (a library between the System.Data.OracleClient.dll
-       assembly and the oci library).  In Current Mono cvs, System.Data.OracleClient 
-       directly platform invokes into the oci library thanks to Tim Coleman.</li>
-       
        <li>Can have multiple connections with different transactions where each transaction is
        separated from the others, so a rollback or commit in one transaction 
        does not affect the other.</li>
        
        <li>Can execute simple DML SQL statements, such as, 
        INSERT a row into the EMP table via the OracleCommand's ExecuteNonQuery method</li>
-               
-       <li>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.</li>
        
        <li>Can retrieve data via ExecuteReader and OracleDataReader.  Currently, 
        supports character, numeric, some date data types.  ExecuteScalar
        
        <li>Handling of various data types need to be added.</li>
        
-       <li>Data Adapter exists, and a DataSet can be filled using it.  The
-       Data Adapter is abstract enough that it should work as expected.</li>
+       <li>Data Adapter exists, and a DataSet can be filled using it.</li>
        
        <li>Lots of missing functionality and bugs.</li>
        
-       <li>Works with SQL# command-line and GTK# versions in cvs.  Only works with
-       simple character data though.  SQL# For GTK# can only show the results to
-       the TextView because the Data Adapter is not yet available</li>
+       <li>Works with SQL# command-line and GTK# GUI versions.</li>
           
 </ul>
        
        <li>transactions (WORKING)</li>
        <li>Stored Procedures, Functions, and Packages support</li>
        <li>Be able to fill a DataTable in a DataSet via a data adapter (IN PROGRESS)</li>
-       <li>Support for Oracle 8i and 9i (UNKNOWN)</li>
-       <li>Support LOBs</li>
+       <li>Support for Oracle 8i on Linux and Windows (WORKING)</li>
+       <li>Support for Oracle 9i on Linux and Windows (WORKING)</li>
+       <li>Support for Oracle 10g on Linux and Windows [TODO].  Please let us 
+       know on mono-list if Mono OracleClient works with Oracle 10g or not.  If not, what errors do you get</li>
+       <li>Support Large OBjects</li>
        <li>Support all the data types</li>
        <li>Implement Connection pooling</li>
        <li>Security</li>
 <ul>
        <li>Have a working mono and mcs</li>
        
-       <li>Have access to an Oracle 8i database or download it from
+       <li>Have access to an Oracle 8i or 9i database or download it from
        <a href="http://www.oracle.com/">Oracle</a>.  If you are connecting
        remotely to an Oracle database, you need the Oracle client software.
        Registration to the <a href="http://technet.oracle.com/">Oracle Technology Network</a> is free.  If installing on Linux, 
        I suggest you do a lot of searching to see how others installed Oracle on Linux.</li>
        
-       <li>Make sure System.Data.OracleClient.dll assembly is built, if not, go
-       into System.Data.OracleClient and do a make -f makefile.gnu (on Linux) or
-       ../../nant/NAnt.exe (on Windows using Cygwin).</li>
+       <li>Make sure System.Data.OracleClient.dll assembly is built.</li>
        
        <li>Take a look at TestOracleClient.cs found at mcs/class/System.Data.OracleClient/Test</li>
        
           "Data Source=testdb;" +
           "User ID=scott;" +
           "Password=tiger;";
-       IDbConnection dbcon;
+       OracleConnection dbcon = null;
        dbcon = new OracleConnection (connectionString);
        dbcon.Open ();
-       IDbCommand dbcmd = dbcon.CreateCommand ();
+       OracleCommand dbcmd = dbcon.CreateCommand ();
        string sql = "SELECT ename, job FROM scott.emp";
        dbcmd.CommandText = sql;
-       IDataReader reader = dbcmd.ExecuteReader ();
+       OracleDataReader reader = dbcmd.ExecuteReader ();
        while (reader.Read ()) {
-          string employeeName = reader["ename"];
-          string job = reader["job"];
+          string employeeName = (string) reader["ename"];
+          string job = (string) reader["job"];
           Console.WriteLine ("Employee Name: {0}  Job: {1}",
                                    employeeName, job);
        }
            -r System.Data.OracleClient.dll
 </pre>
                </li>
-               <li>Build on Windows via Cygwin:
+               <li>Build on Windows:
 <pre>
-       mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
-            TestExample.cs \
-            -lib:C:/cygwin/home/MyHome/mono/install/lib \
-            -r System.Data.dll -r System.Data.OracleClient.dll
+       mcs TestExample.cs  /r:System.Data.dll \
+           /r:System.Data.OracleClient.dll
 </pre>
                </li>
        </ul>