X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fado-net;h=0095d79ef79996374030641fce45c5c8a01272ac;hb=9191e0c5db18025221d390981ae2335c17bbd345;hp=5d9fb630142dd64c43884a57db90e70dea8a10ff;hpb=e0e8de2d7da34fdd30482c208571122e7c808deb;p=mono.git
diff --git a/web/ado-net b/web/ado-net
index 5d9fb630142..0095d79ef79 100644
--- a/web/ado-net
+++ b/web/ado-net
@@ -1,96 +1,80 @@
* ADO.NET
-
Mono's ADO.NET Developers:
-
- - Rodrigo Moya - rodrigo -AT- ximian.comNOSPAM - coordinator
- for the ADO.NET implementation and works on the OLE DB provider
- and tests
- - Daniel Morgan - danmorg -AT- sc.rr.comNOSPAM - works on
- the MySQL, PostgreSQL, Oracle providers, and tests
- - Tim Coleman - tim -AT- timcoleman.comNOSPAM - works on
- the Microsoft SQL Server, Sybase, TDS providers, Oracle, and tests
- - Brian Ritchie - brianlritchie -AT- hotmail.comNOSPAM - works on
- the ODBC provider and the ProviderFactory
- - Vladimir Vukicevic - vladimir -AT- pobox.comNOSPAM - works on
- the SQL Lite provider
- - Christopher Bockner - cleared -AT- rogers.comNOSPAM - works on
- the IBM DB2 Universal Database provider
- - Ville Palo - vi64pa -AT- koti.soon.fiNOSPAM - works on XML stuff in System.Data
- including DataSet, XmlDataDocument, and has done lots of testing
- - Gonzalo Paniagua Javier - gonzalo -AT- ximian.comNOSPAM - integration
- between System.Web and System.Data
- - Gaurav Vaish - gvaish -AT- iitk.ac.in - works on data binding of
- web controls
- - Phillip Jerkins - Named Instance support in System.Data.SqlClient
-
+** Data Access in Mono
+
+
+ - Today, our goal is to be compatible with .NET 1.1 and .NET 1.0. We also would like
+ to extend data access beyond what is included with .NET 1.0 and .NET 1.1,
+ such as, include access to more databases, such as, PostgreSQL and MySQL,
+ but also provide classes that help in creating data source-agnostic code, such as,
+ Mono.Data.ProviderFactory.
+
+ - In the future, we would like to be compatible with .NET 1.2. This includes features
+ like ObjectSpaces
-* Action plan
+
- The current plan to implement ADO.NET is as follows:
+** Bugs and Feature Requests
-
- - Either create ADO.NET providers or modify pre-exiting ADO.NET providers to
- work with Mono
-
-
- - Create ADO.NET Providers
-
-
-
- - Modify Pre-existing ADO.NET Providers to work with Mono. This may
- require fixing or implementing areas of Mono too.
-
- - Firebird Interbase
is a
- Firebird SQL Managed data provider. It can be used with Interbase databases too. It
- is written in 100%C# and does not require a client library. Works on .NET and Mono.
- - Npgsql is a
- PostgreSQL Managed data provider written
- in 100% C#, does not require a client library, and works on .NET and Mono
- - MySQLNet is a
- MySQL Managed data provider written in 100% C#, does not
- require a client library, and works on .NET and Mono
-
-
-
-
- - Create Tools to be used for ADO.NET and other technologies (ASP.NET, XML, etc)
+
-
- - SQL# CLI - a SQL query tool with a command-line interface.
- It can be used to enter and execute SQL statements or
- execute a batch of SQL commands from a file. It can
- be used to test connection strings, connect to various ADO.NET
- providers, save output to text, html, or xml. It is a work-in-progress.
- The SQL# CLI is distributed with the
- Mono runtime and class libraries as an executable assembly sqlsharp.exe.
- The source to SQL# CLI can be found in the mcs source at
- mcs/tools/SqlSharp/SqlSharpCli.cs
-
-
- SQL# GUI - a graphical SQL query tool allows a user
- to enter SQL commands in a top panel which is a text editor. It
- has a toolbar and menu for various tasks, such as, executing
- SQL commands one-at-a-time or in a batch. The results would appear
- in a bottom panel in a grid or could be saved to a file (xml, html, csv).
- Also, the bottom panel would allow logging of SQL command executed.
- Currently, there is a SQL# For GTK# which
- provides a GUI interface using the Gtk# toolkit. SQL# For GTK#
- is a work-in-progress and can be found in the mcs source at
- mcs/tools/SqlSharp/gui/gtk-sharp
-
- - Application XML Configuration File Editor - a tool
- to create and edit an application configuration file, such as,
- we have a .net application named Accouting.exe, the tool could edit
- the application configuration file Accounting.exe.config so a user could
- connect to the database used by the program. This tool has not
- been created.
-
- - Configuration Command-Line and GUI Tools for ADO.NET.
- These tools have not been started. The tools would be written in
- C# and run on Mono. The
- configuration tool can be used to do the following:
-
- - bebased on the Application XML Configuration File Editor
- - setup DSNs for the ODBC and OLE-DB
- providers and configurations for
- their underlying libraries (unixODBC and libgda)
- - setup configurations for the Mono.Data.ProviderFactory
- that Brian Ritchie created
- - setup native database client library configurations too, such as,
- freetds.conf for Microsoft SQL Server and Sybase
-
-
-
-
+
+
+
+
-
-* Current Status
- Various ADO.NET Providers have been created at various stages of
- development including:
- Firebird/Interbase, IBM DB2 Universal Database, MySQL, ODBC, OLE DB, Oracle,
- PostgreSQL, SQL Lite, Sybase, Microsoft SQL Server, and TDS Generic.
- See their respective web page for more information.
-
-
Constraints need lots of work
-
-
XML Schema Definition tool xsd.exe that is included
- in the .NET Framework has not been created for Mono
-
-
TypeDataSetGenerator needs to be stubbed and implemented.
-
-
DataSet, DataAdaptor, DataTable, DataRelation, DataRow, DataColumn,
- DataColumnCollection, DataRowCollection, and others need more work. There are
- many classes that are just stubs and need to be implemented. Ville Palo has been
- doing much testing here.
+** Extra Classes in Mono ADO.NET
-
XML support in System.Data needs work. This involves working on
- the classes: DataSet, XmlDataDocument, and the method ExecuteXmlReader() that
- exists in a provider's class that implements IDbCommand, and others.
- Stuart Caborn has started the XML support in a DataSet. Tim Coleman started
- XML support in the ExecuteXmlReader() in a SqlCommand. Ville Palo has been
- heavily modifying DataSet, XmlDataDocument, and other classes for reading
- and writing XML.
-
-
ADO.NET Provider Factory was created by Brian Ritchie. The
+
An ADO.NET Provider Factory
+ was created by Brian Ritchie. The
Provider Factory is a way to dynamically create
connections, commands, parameters, and data adapters based on configuration
- information. The provider factory also provides utility functions needed by a lot of
- providers but are not exposed via the provider. The ProviderFactory
- is found at mcs/class/Mono.Data and includes a test named test.cs for it in
- mcs/class/Mono.Data/Test. Also, take a look at the sample .config file for the
- test.exe application named test.exe.config. The .config file is automatically
- read when you use the Mono.Data.ProviderFactory or Mono.Data.DataTools.
-
-
Integration with ASP.NET has been created. Data binding of
- a DataTable in a DataSet to a System.Web.UI.WebControls.DataGrid works. Data binding
- of other types works too.
+ information.
-
Database Access from ASP.NET:
+** Database Access from ASP.NET
- Take a look at xsp in cvs and look at the examples in test: dbpage1.aspx
and dbpage2.aspx:
@@ -229,12 +115,12 @@
- DBProviderAssembly is the assembly of the ADO.NET provider.
For example:
- "Mono.Data.PostgreSqlClient"
+ "ByteFX.Data"
- DBConnectionType is the System.Type of the class that
implements System.Data.IDbConnection that is found
in the DBProviderAssembly.
For example:
- "Mono.Data.PostgreSqlClient.PgConnection"
+ "ByteFX.Data.MySqlConnection"
- DBConnectionString is the ConnectionString to set to the
IDbConnection object to use in opening a connection to a data source.
For Example:
@@ -249,70 +135,64 @@
-
- Integration with Windows.Forms has not been started, such as, data binding
- to a System.Windows.Forms.DataGrid. This may involve implementing many classes
- in System.Windows.Forms and System.Data.
-
-
Integration with GTK#
- has not been started, such as, data binding
- to a GtkTreeView. This may involve creating new classes
- to go between the glist data model and the ADO.NET data model.
- Mike Kestner or Rachel Hestilov would be the best people to ask for help on GTK#.
-
-
Integration with QT# has not been started. Any information on
- how this can be done is appreciated. Adam Treat would be the best
- person to ask about QT#.
-
-
Building System.Data
-
-
The System.Data.dll gets built with the rest of the class library.
- To compile the System.Data.dll assembly separately, you need:
-
- On Unix
-
-
- * update your mono sources. Be sure you have latest mcs.exe
- and .dll's, since there have been many fixes needed for
- compilation on Linux.
-
- * compile System.Data.dll:
-
- cd mcs/class/System.Data
- mcs --target library -o \
- System.Data.dll @list
-
-
-
- On Windows
-
-
- * update your mono sources. Be sure you have latest mcs.exe
- and .dll's. You can use the same method as Linux,
- or you can use NAnt.
-
- * To use NAnt:
-
-
- cd mcs/class/System.Data
- ../../nant/NAnt.exe
-
-
- * This will automatically copy the System.Data.dll to Test.
- If you need to do a clean for the System.Data.dll assembly,
-
-
- cd mcs/class/System.Data
- ../../nant/NAnt.exe clean
-
-
-* Testing
+** Testing
- - Testing connection-oriented classes are done via the provider specific tests
+
- Testing connection-oriented classes are done
+ via the provider specific tests
+ found in the mcs source at mcs/class
+
+
+ Name |
+ Assembly / Namespace |
+ Test |
+
+
+
+ Microsoft SQL Server |
+ System.Data / System.Data.SqlClient |
+ SqlTest.cs at System.Data/Test |
+
+
+
+ PostgreSQL (Npgsql) |
+ Npgsql / Npgsql |
+ *.cs at Npgsql/Test |
+
+
+
+ Oracle (Mono) |
+ System.Data.OracleClient / System.Data.OracleClient |
+ TestOracleClient.cs at System.Data.OracleClient/Test |
+
+
+
+ ODBC (Mono) |
+ System.Data.Odbc / System.Data |
+ OdbcTest.cs (to connect to MS SQL Server)at System.Data/Test |
+
+
+
+
- Testing non-connection classes are
- done via mono's modified version of NUnit.
-
+ done via mono's modified version of NUnit.
+
+ - To run all the NUnit tests for Mono, you need the mcs source. cd to the root
+ of the mcs source. To run it:
+
+
+ - If you just want to run the NUnit tests for System.Data, you would cd into
+ the mcs source at class/System.Data/Test and run it:
+
+
+
+
+
+