2009-06-08 Miguel de Icaza <miguel@novell.com>
[mono.git] / web / ibmdb2
index 750613ccfd7be4ab5f640ce09fa11c2ee3d4166e..d8c919adf4662d690b75d2d651581cdba494f569 100755 (executable)
@@ -1,37 +1,46 @@
 * IBM DB2 Data Provider
 <ul>
-       <li>ADO.NET Data Provider for <a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a></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>
 
-       <li>Exists in namespace IBM.Data.DB2 and assembly IBM.Data.DB2</li>
-       
-       <li>The source code exists at mcs/class/IBM.Data.DB2</li>
-                       
-       <li>Requires the Call Level Interface to IBM DB2 shared library.  This
-       is db2cli.dll on Windows and db2_36.so under Linux.</li>
-                       
-       <li>IBM DB2 Provider maintained by Victor Vatamanescu. For questions, complaints or anything else regarding the managed provider <a href="mailto:victor.vatamanescu@hqsoftconsult.com">contact me<a>. </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 
-       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 Linux. Still needs testing on Windows.</li>
-       
-       <li>The data provider is officially in beta. Still have missing features.</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>GetSchemaTable implementation.</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>
 
 <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-306.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 IBM.Data.DB2.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.html">here</a></li>
-       
-       <li>Here is a sample ConnectionString: 
-<pre>
- "server=sample;uid=myuserid;pwd=mypwd"
-</pre>
-       </li>
-       
-               
-       <li>C# Example:
-<pre>
- using System;
- using System.Data;
- using IBM.Data.DB2;
- public class Test 
- {
-    public static void Main(string[] args)
-    {
-       string connectionString = 
-          "server=" + args[0] + ";UID=" + args[1] + ";PWD=" + args[2];
-       DB2Connection cn = new DB2Connection(connectionString);
-       cn.Open();
-       DB2Command cm = new DB2Command("SELECT * FROM schema.employees", cn);
-       DB2DataReader dr = cm.ExecuteReader();
-       while(dr.Read()){
-             Console.WriteLine("{0}:{1}:{2}", dr[0], dr[1], dr[2]);
-       }
-       cm.Dispose();
-       cn.Close();
-    }
- }
-</pre>
-       </li>
-       <li>Building C# Example:
-       <ul>
-               <li>Save the example to a file, such as, DB2Test.cs</li>
-               <li>Build on Linux:
-<pre>
-       mcs DB2Test.cs -r System.Data.dll \
-           -r IBM.Data.DB2.dll
-</pre>
-               </li>
-               <li>Build on Windows via Cygwin:
-<pre>
-       mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
-            DB2Test.cs \
-            -lib:C:/cygwin/home/MyHome/mono/install/lib \
-            -r System.Data.dll -r IBM.Data.DB2.dll
-</pre>
-               </li>
-       </ul>
-       </li>
-       <li>Running the Example:
-<pre>
-mono TestExample.exe sample myuser mypasswd
-</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>