* roottypes.cs: Rename from tree.cs.
[mono.git] / web / ibmdb2
index 6197e49bffb8df3c94bb85baabf820f2dbd6d81f..d8c919adf4662d690b75d2d651581cdba494f569 100755 (executable)
 * IBM DB2 Data Provider
 <ul>
-       <li>Exists in namespace DB2ClientCS and assembly Mono.Data.DB2Client</li>
-       
-       <li>The source code exists at mcs/class/Mono.Data.DB2Client</li>
-                       
-       <li>Requires the Call Level Interface to IBM DB2 shared library.  This
-       is db2cli.dll on Windows.  The IBM DB2 CLI API is very similar to the ODBC API. If
-       you take a look at Mono's System.Data.Odbc ODBC provider, you will see the
-       DllImport's have similiar function names.</li>
-       
-       <li><a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a> can be downloaded from IBM.</li>
-               
-       <li>IBM DB2 Provider created by Christopher Bockner.</li>
+       <li>ADO.NET Data Provider for <a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a>.</li>
+
+       <li>Exists in namespace IBM.Data.DB2 and assembly IBM.Data.DB2. The source code is located in the mcs/class/IBM.Data.DB2 directory.</li>
+
+       <li>This IBM DB2 data provider is built on top of Call Level Interface, a C interface similar to ODBC.</li>
+       The required libraries are db2cli.dll on Windows and db2_36.so under Linux.
+
+       <li>The data provider is maintained by <a href="http://www.hqsoftconsult.com">HQSoftware Consulting</a> team.</li>
+       Our objective in developing this managed provider is to simplify the process of migrating enterprise solutions with demanding data processing requirements from Windows to Linux. For questions, complaints or anything else regarding the managed provider please <a href="mailto:office@hqsoftconsult.com">contact us</a>.
+
+       <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 and easy to create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
+
 </ul>
-       
+
 ** Current Status
 
 <ul>
-       <li>Compiles on Windows and Linux.  Works on Windows.  Still needs to be tested on Linux.</li>
-       
-       <li>Able to connect to IBM DB2</li>
-       
-       <li>Able to execute DML, such as, CREATE TABLE via ExecuteNonQuery()</li>
-          
+       This IBM DB2 managed provider is in a stable stage. It was tested on Linux and Windows platforms on x86 hardware. All the features one would expect from a .NET managed provider are implemented, including:
+       <ul>
+               <li>Connecting / disconneting to local and remote datasources</li>
+               <li>Connection pooling</li>
+               <li>Statement execution support using the ExecuteNonQuery(), ExecuteScalar(), ExecuteReader() methods of the DB2Command</li>
+               <li>Transactions support</li>
+               <li>Filling datasets with the DB2DataAdapter from direct statement execution or from stored procedures cursors</li>
+               <li>Updating datasources with the changes in DataSets using DB2DataAdapter.Update() method</li>
+               <li>Full stored procedures invocation support; IN/OUT/INOUT and return parameters</li>
+               <li>Generating Insert/Update/Delete commands with the DB2CommandBuilder</li>
+       </ul>
 </ul>
-       
+
 ** Action Plan
 
 <ul>
-               <li>Still needs work to get it to retrieve data via ExecuteReader() and
-       use the data reader to read data.</li>
+               <li>Future plans:
+               <ul>
+                       <li>Fixing all the bugs as soon as they will be discovered</li>
+                       <li>Exhaustive test cases suite</li>
+                       <li>Enhanced bulk insert operations support</li>
+                       <li>Switching from the C interface to the DB2 wire protocol </li>
+               </ul>
+               </li>
 
 </ul>
 
 ** Testing
-
+<br>
 In order to test.
 <ul>
-       <li>Have working mono and mcs setup</li>
-       
-       <li>Have access to an IBM DB2 database.  If you do not have access, download the
-       <a href="http://www-3.ibm.com/software/data/db2/">IBM DB2</a> software.  There 
-       are versions for Windows, Linux, AIX, and Sun Solaris.</li>
-       
-       <li>Make sure the assembly Mono.Data.DB2Client.dll was built and installed 
-       where the other class libraries are installed.</li>
-       
-       <li>If you do not have the source to mcs, get the source from
-       <a href="http://www.go-mono.com/download">here</a></li>
-       
-       <li>In mcs/class/Mono.Data.DB2Client/Test/DBConnTest, you will find
-       a DBConnTest.cs.</li> 
-       
-       <li>To build DBConnTest:
-               <ul>
-                       <li>On Unix:</li>
-<pre>
-mcs DBConnTest.cs -r System.Data.dll -r Mono.Data.DB2Client.dll
-</pre>
-                       </li>
-                       <li>On Windows via Cygwin:
-<pre>
-mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe DBConnTest.cs \ 
-     -lib:C:/cygwin/home/MyHome/mono/install/lib \
-     -r System.Data.dll -r Mono.Data.DB2Client.dll
-</pre>
-                       </li>
-                       <li>To run it on mono:
-<pre>
-mono DBConnTest.exe database userid password
-</pre>
-                       </li>
-               </ul>
-               </li>
-               
-       <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using Mono.Data.DB2Client;
- public class Test 
- {
-    public static void Main(string[] args)
-    {
-       string connectionString = 
-          "DSN=sample;UID=db2admin;PWD=mypass";
-       IDbConnection dbcon = new DB2ClientConnection(connectionString);
-       IDbCommand dbcmd = dbcon.CreateCommand();
-       string sql =
-            "CREATE TABLE mono_db2_test1 ( " +\r
-            "   testid varchar(2), " +\r
-            "   testdesc varchar(16) " +\r
-            ")";
-       dbcmd.CommandText = sql;
-       dbcmd.ExecuteNonQuery();
-       dbcmd.Dispose();
-       dbcmd = null;
-       dbcon.Close();
-       dbcon = null;
-    }
- }
-</pre>
-       </li>
-       <li>Building C# Example:
-       <ul>
-               <li>Save the example to a file, such as, TestExample.cs</li>
-               <li>Build on Linux:
-<pre>
-       mcs TestExample.cs -r System.Data.dll \
-           -r Mono.Data.DB2Client.dll
-</pre>
-               </li>
-               <li>Build on Windows via Cygwin:
-<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 Mono.Data.DB2Client.dll
-</pre>
-               </li>
-       </ul>
-       </li>
-       <li>Running the Example:
-<pre>
-mono TestExample.exe
-</pre>
-       </li>
-               
+       <li>Download and install mono from <a href="http://www.go-mono.com/download.html">http://www.go-mono.com/download.html</a></li>
+       <li>Make sure you have a working C compiler on the machine you will install DB2 on, since this will be required for compiling stored procedures</li>
+       <li>Install IBM DB2 and make sure you have created the links for the DB2 files using the db2ln command. </li>
+       You can register and download IBM DB2 Personal Developer Edition from <a href="http://www14.software.ibm.com/webapp/download/search.jsp?rs=db2pde">here</a>.
+       If you cannot install DB2 using the automatic installation due to the java user interface issues, you can perform a manual installation following these <a href="http://publib.boulder.ibm.com/infocenter/db2help/index.jsp?topic=/com.ibm.db2.udb.doc/start/t0006742.htm">instructions</a>.
+
+       <li>Make sure the assembly IBM.Data.DB2.dll was built and installed where the other class libraries are installed.</li>
 </ul>