X-Git-Url: http://wien.tomnetworks.com/gitweb/?a=blobdiff_plain;f=web%2Fado-net;h=0095d79ef79996374030641fce45c5c8a01272ac;hb=f514aab35c57e64ae361d7069676cdb8ce7bf857;hp=e509c91d12ae97cd2f9a4e480208062387841469;hpb=726fef391cc423f85f0dd1a40a00c63cdfb7a570;p=mono.git
diff --git a/web/ado-net b/web/ado-net
index e509c91d12a..0095d79ef79 100644
--- a/web/ado-net
+++ b/web/ado-net
@@ -1,158 +1,108 @@
* 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, 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
-
+** 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 for Configuration, Testing, and Entering SQL Queries
-
-
+
+
+ - Bugs with Mono or any data provider in Mono should be reported
+ in Mono's Bugzilla here. If you
+ do not have a Bugzilla user account, it is free
+ and easy to create
+ one here.
-* Current Status
-
- Variouls ADO.NET Providers have been created at various stages of
- development including:
- Firebird, IBM DB2 Universal Database, MySQL, ODBC, OLE DB, Oracle,
- PostgreSQL, Sybase, SQL Lite,
- Microsoft SQL Server, and TDS Generic.
- See their respective web page for
- more information.
+
- Any requests for new features or missing functionality
+ can entered as a bug in Bugzilla too
+
+
- Constraints need lots of work
+** ADO.NET Data Providers
-
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.
-
-
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.
+
Mono has many ADO.NET Data Providers to get you connected:
+
+
+
+External Projects that have created ADO.NET Providers that work on Mono:
+
+
+
+ - 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
+
+
+** Tools
+
+Some tools that can be used for ADO.NET and other technologies (ASP.NET, XML, etc).
+
+
+ - sqlsharp.exe
+
+ - SQL# is a command line query tool included with Mono to enter and execute SQL statements
+
+
+ - xsd.exe
+
+ - XML Schema Definition tool
+
+ - XDR to XSD - used to generate an XML schema from an XDR (XML Data Reduced schema) file.
+ XDR was used by Microsoft prior to XSD becoming a W3C recommendation. So, this needs
+ to be supported for legacy reasons
+ - XML to XSD - used to generate an XML schema from an XML file
+ - XSD to DataSet - used to generate DataSet classes from an XSD schema file. The
+ DataSet classes created can then be used with XML data
+ - XSD to Classes - used to generate classes from an XSD schema file. The
+ classes created can be used with System.XML.Serialization.XMLSerializer
+ to read and write XML code that follows the schema
+ - Classes to XSD - used to generate an XML schema
+ from type(s) in a assembly file. The
+ XML schema created by the tool defines the XML format used
+ by System.XML.Serialization.XMLSerializer
+
+
+
+
+
+
+** Extra Classes in Mono ADO.NET
+
+ 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.
-
ADO.NET Provider Factory has been started by Brian Ritchie. The
- Provider Factory is 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 started, such as, data binding of
- a DataTable in a DataSet to a System.Web.UI.WebControls.DataGrid. This may
- involve implementing or fixing many classes
- in System.Web and System.Data. If you want to help,
- contact Gonzalo Paniagua Javier. Here is information about using ADO.NET in 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:
@@ -165,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:
@@ -185,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 would be the best person 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:
+
+
+
+
+
+