More corlib and System.Data compilation bugs:
[mono.git] / doc / ado-net
1 * ADO.NET
2
3         The coordinator for the ADO.NET implementation is <a
4         href="mailto:rodrigo@ximian.com">Rodrigo Moya</a>, with
5         the collaboration of <a href="mailto:danmorg@sc.rr.com">Daniel
6         Morgan</a>.
7
8 * Action plan
9
10         The current plan to implement ADO.NET is as follows:
11
12         <b>Step 1:</b> SqlClient:
13
14         <ul>
15                 * Implementation of System.Data.SqlClient based on
16                   the PostgreSQL C API.
17
18                 * Once the System.Data.SqlClient code is functional and
19                   is usable by other people, we willl move it to
20                   System.Data.PostgreSQL, and will convert the existing
21                   System.Data.SqlClient to be just a wrapper around
22                   System.Data.PostgreSQL.  
23
24         </ul>
25
26         <b>Step 2:</b> OleDB:
27         <ul>
28                 * On Unix systems: System.Data.OleDb will use LibGDA as its
29                   engine. 
30
31                   LibGDA is the data access engine that is used by
32                   Gnome-Db (only libgda, not libgnomedb at all).
33
34                 * On Windows systems: System.Data.OleDb will use OLE-DB as
35                   its engine.
36         </ul>
37
38         <b>Step 3:</b> System.Data.SqlClient Providers:
39
40         <ul>
41                 * System.Data.SqlClient will then become a generic
42                   proxy for binding to other SQL implementations other
43                   than PostgreSQL (MySQL on Unix/Windows; MS SQL on
44                   Window; Interbase on Unix/Windows). Others are welcomed.
45         </ul>
46
47         <b>Step 4:</b> Other System.Data providers:
48
49         <ul>
50                 * The idea in MS .NET System.Data seems to be to have
51                   a managed provider for each supported DBMS. So, apart
52                   from System.Data.OleDb (generic) and System.Data.SqlClient,
53                   we'll need to have System.Data.ODBC, System.Data.MySQL,
54                   System.Data.Oracle, System.Data.PostgreSQL, etc. Others,
55                   of course, are welcomed.
56         </ul>
57         
58 * Current Status
59
60         We are able now to run basic commands (INSERT, DELETE) into a
61         PostgreSQL database (see mcs/class/System.Data/Test/TestSqlInsert.cs).
62         To compile that test program, you need:
63
64         <b>On Linux</b>
65
66         <ul>
67                 * update your mono sources.
68
69                 * get the .dll's and mcs.exe built on windows, and put them on your
70                   linux machine.
71
72                 * compile the test program along with the System.Data.Common and
73                   System.Data.SqlClient files.
74         </ul>