diff options
author | Daniel Morgan <monodanmorg@yahoo.com> | 2004-04-11 04:26:21 +0400 |
---|---|---|
committer | Daniel Morgan <monodanmorg@yahoo.com> | 2004-04-11 04:26:21 +0400 |
commit | 0249cea012a505c1f07d2d6014015ca549831390 (patch) | |
tree | c7cd0f47a5e33223d4d784f90d13a38439784e75 /web/ado-net | |
parent | 7380b58dec273748f5ef4b40e42f73efbe7cc5c1 (diff) |
2004-04-10 Daniel Morgan <danielmorgan@verizon.net>
* ado-net
* sqlclient
* oracle
* postgresql
* mysql: clean up Mono ADO.NET web pages
* makefile: remove building of obsolete web page tds-providers
svn path=/trunk/mono/; revision=25325
Diffstat (limited to 'web/ado-net')
-rw-r--r-- | web/ado-net | 249 |
1 files changed, 28 insertions, 221 deletions
diff --git a/web/ado-net b/web/ado-net index 61cd8bda102..0095d79ef79 100644 --- a/web/ado-net +++ b/web/ado-net @@ -3,19 +3,15 @@ ** Data Access in Mono <ul> - <li>Today, our goal is to be compatible with .NET 1.0 and .NET 1.1. We also would like + <li>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, including 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.</li> - <li>In the future, we would like to be compatible with .NET 1.2. This - would include features like: - <ul> - <li><a href="http://longhorn.msdn.microsoft.com/lhsdk/ndp/daconworkingwithobjectspacesarchitecture.aspx">ObjectSpaces</a></li> - <li>provide support for hosting Mono languages (C-Sharp, MonoBASIC, etc...) - within a DBMS engine, such as, MySQL or PostgreSQL.</li> - <li>implement .net 1.2 classes, such as, those found in System.Data.ProviderBase</li> - <li>other stuff which can be brought up on the mono-list</li> - </ul></li> + 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.</li> + + <li>In the future, we would like to be compatible with .NET 1.2. This includes features + like <a href="http://longhorn.msdn.microsoft.com/lhsdk/ndp/daconworkingwithobjectspacesarchitecture.aspx">ObjectSpaces</a></li> + </ul> ** Bugs and Feature Requests @@ -50,23 +46,6 @@ <li><a href="http://www.go-mono.com/tdsclient.html">Older Microsoft SQL Server and Sybase databases</a></li> </ul> -<p>Providers which we do not have, but we would like to have. Currently, - some of these databases are supported via the ODBC or OLE DB providers. - -<ul> - <li><a href="http://msdn.microsoft.com/library/en-us/dnsql2k/html/sqlxml_intromanagedclasses.asp?frame=true">Managed Classes for SqlXml</a> which is - a .NET data provider for retrieving XML data from a Microsoft SQL Server 2000 database. The System.Data.SqlClient provider - in Mono can be used as a starting point at mcs/class/System.Data/System.Data.SqlClient.</li> - <li><a href="http://www.hughes.com.au/">miniSQL</a></li> - <li><a href="http://www.sleepycat.com/">BerkeleyDB (Sleepycat)</a></li> - <li><a href="http://www.sapdb.org/">SapDB</a></li> - <li><a href="http://www-3.ibm.com/software/data/informix/">Informix</a></li> - <li><a href="http://msdn.microsoft.com/vfoxpro/">Foxpro</a></li> - <li>Microsoft Access - could be done by creating C# bindings to <a href="http://mdbtools.sourceforge.net">MDB Tools</a></li> - <li>dbase or xbase type database files</li> - <li>Others are welcome</li> -</ul> - <p>External Projects that have created ADO.NET Providers that work on Mono: <ul> @@ -86,41 +65,16 @@ <p>Some tools that can be used for ADO.NET and other technologies (ASP.NET, XML, etc). -<ul> - <li><p><b>SQL# command line query tool</b> is a command-line tool to - enter and execute SQL statements or - execute a batch of SQL commands from a file. - <p>It can - be used to test connection strings, connect to various ADO.NET - providers, save output to text, html, or xml. - <p>The SQL# CLI is distributed with the - Mono runtime and class libraries as an executable assembly sqlsharp.exe. - <p>The source to SQL# CLI can be found in the mcs source at - mcs/tools/SqlSharp/SqlSharpCli.cs - </li> - - <li><p><b>SQL# For GTK#</b> - is a graphical SQL database query tool</b> allows a user - to enter SQL commands in a top panel which is a text editor. - <p>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). - <p>Also, the bottom panel would allow logging of SQL command executed. - Here is a screenshot of <a href="http://go-mono.com/images/sqlsharp.png">SQL# For GTK#</a> which - provides a GUI interface using the <a href="http://gtk-sharp.sourceforge.net">Gtk#</a> toolkit. - <p>SQL# For GTK# can be found in mono cvs as sqlsharpgtk.</li> -</ul> - -<p>Tools we would like to have, but they have not been created yet: - <ul> - <li>Mono has an <b>XML Schema Definition tool</b> (xsd.exe).</b> - - <ul> - <li>This tool - would works like the xsd.exe tool included with - the .NET Framework. The Xsd.exe tool has the
- following uses:
- <ul>
+ <li>sqlsharp.exe + <ul> + <li>SQL# is a command line query tool included with Mono to enter and execute SQL statements</li> + </ul> + </li> + <li>xsd.exe + <ul> + <li>XML Schema Definition tool</li> + <ul> <li><b>XDR to XSD</b> - 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</li>
@@ -128,57 +82,16 @@ <li><b>XSD to DataSet</b> - used to generate DataSet classes from an XSD schema file. The
DataSet classes created can then be used with XML data</li>
<li><b>XSD to Classes</b> - 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</li>
+ classes created can be used with System.XML.Serialization.XMLSerializer
+ to read and write XML code that follows the schema</li>
<li><b>Classes to XSD</b> - 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</li>
- </ul>
- <li>Xsd.exe is used to manipulate XML schemas that
- follow the http://www.w3.org/XML/Schema">XML Schema Definition (XSD)</a> language
- recommended by the <a href="http://w3.org/">World Wide Web Consortium (W3C)</a></li>
-
- <li>How this tool could be created:
- <ul>
- <li>Write xsd.exe in C# and run on Mono</li>
- <li>Make sure we have XML Schema support in System.Xml.Schema. Currently,
- it is wrapped around libxlst</li>
- <li>XML serialization support in System.Data classes</li>
- <li>Create the TypedDataSetGenerator class in System.Data</li>
- <li>Using CodeDOM or Reflection.Emit to create code</li>
- <li>Make sure DataSet, XmlDataDocument, and related classes
- are implemented fully</li>
- </ul>
- </li>
- - </li> - </ul> - </li> - - <li><b>Application XML Configuration File Editor</b> - 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.</li> - - <li><b>Configuration Command-Line and GUI Tools for ADO.NET</b>. - 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: - <ul> - <li>bebased on the Application XML Configuration File Editor</li> - <li>setup DSNs for the ODBC and OLE-DB - providers and configurations for - their underlying libraries (unixODBC and libgda)</li> - <li>setup configurations for the Mono.Data.ProviderFactory - that Brian Ritchie created</li> - <li>setup native database client library configurations too, such as, - freetds.conf for Microsoft SQL Server and Sybase</li> - </ul> - </li> - + </ul>
+ </li>
+ </ul>
+ </li> </ul> ** Extra Classes in Mono ADO.NET @@ -189,42 +102,7 @@ connections, commands, parameters, and data adapters based on configuration information. -** Current Status - - <p>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. - - <p><b>Data Relations</b> via DataRelation, DataRelationCollection, and - other classes have not been implemented - - <p><b>Constraints</b> need lots of work - - <p><b>XML Schema Definition tool</b> xsd.exe that is included - in the .NET Framework has not been created for Mono - - <p><b>TypeDataSetGenerator</b> needs to be stubbed and implemented. - - <p><b>DataSet, DataAdaptor, DataTable, DataRelation, DataRow, DataColumn, - DataColumnCollection, DataRowCollection, and others</b> need more work. There are - many classes that are just stubs and need to be implemented. Ville Palo has been - doing much testing here. - - <p><b>XML support in System.Data</b> 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. XML Serialization support in DataSet needs to be implemented. - - <p><b>Integration with ASP.NET</b> 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. - - <p><b>Database Access from ASP.NET</b>: +** Database Access from ASP.NET <ul> <li>Take a look at xsp in cvs and look at the examples in test: dbpage1.aspx and dbpage2.aspx: @@ -237,12 +115,12 @@ <ul> <li><b>DBProviderAssembly</b> is the assembly of the ADO.NET provider. For example: - "Mono.Data.PostgreSqlClient"</li> + "ByteFX.Data"</li> <li><b>DBConnectionType</b> is the System.Type of the class that implements System.Data.IDbConnection that is found in the DBProviderAssembly. For example: - "Mono.Data.PostgreSqlClient.PgConnection"</li> + "ByteFX.Data.MySqlConnection"</li> <li><b>DBConnectionString</b> is the ConnectionString to set to the IDbConnection object to use in opening a connection to a data source. For Example: @@ -257,63 +135,6 @@ </ul> </li> </ul> - - <p><b>Integration with Windows.Forms</b> 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. - - <p><b>Integration with <a href="http://gtk-sharp.sourceforge.net/">GTK#</a></b> - 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#. - - <p><b>Integration with QT#</b> has not been started. Any information on - how this can be done is appreciated. Marcus would be the best - person to ask about QT#. - - <p><b>Building System.Data</b> - - <p>The System.Data.dll gets built with the rest of the class library. - To compile the System.Data.dll assembly separately, you need: - - <b>On Unix</b> - - <ul> - * 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: -<pre> - cd mcs/class/System.Data<br> - mcs --target library -o \ - System.Data.dll @list -</pre> - </ul> - - <b>On Windows</b> - - <ul> - * 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: - -<pre> - cd mcs/class/System.Data - ../../nant/NAnt.exe -</pre> - - * This will automatically copy the System.Data.dll to Test. - If you need to do a clean for the System.Data.dll assembly,<br><br> - -<pre> - cd mcs/class/System.Data - ../../nant/NAnt.exe clean -</pre> - </ul> ** Testing @@ -339,18 +160,6 @@ <td>Npgsql /</br> Npgsql</td> <td>*.cs at</br> Npgsql/Test</td> </tr> - - <tr> - <td>PostgreSQL</br> (Mono)</td> - <td>Mono.Data.PostgreSqlClient /</br> Mono.Data.PostgreSqlClient</td> - <td>PostgresTest.cs at</br> System.Data/Test</td> - </tr> - - <tr> - <td>MySQL</br> (Mono)</td> - <td>Mono.Data.MySql /</br> Mono.Data.MySql</td> - <td>MySqlTest.cs at</br> Mono.Data.MySql/Test</td> - </tr> <tr> <td>Oracle</br> (Mono)</td> @@ -373,15 +182,13 @@ <li>To run all the NUnit tests for Mono, you need the mcs source. cd to the root of the mcs source. To run it: <ul> - <li>On Linux: make -f makefile test</li> - <li>On Windows: make test</li> + <li>make test</li> </ul> </li> <li>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: <ul> - <li>On Linux: make -f makefile test</li> - <li>On Windows: make test</li> + <li>make test</li> </ul> </li> </ul> |