diff options
author | Daniel Morgan <monodanmorg@yahoo.com> | 2002-12-11 02:10:19 +0300 |
---|---|---|
committer | Daniel Morgan <monodanmorg@yahoo.com> | 2002-12-11 02:10:19 +0300 |
commit | c80e9ca5df00506f454711247c91ce1252d3e118 (patch) | |
tree | ff9ed31236af7ceec49f3fe1230c484e532a8a68 /web/ado-net | |
parent | 8fa2cc52bae335a9c0b35ed798523ef955e36366 (diff) |
2002-12-10 Daniel Morgan <danmorg@sc.rr.com>
* doc/oracle: added file which is
a new web page oracle.html
* doc/ado-net: clean up and add link
to oracle.html
* doc/web/commands
* doc/web/makefile: added oracle.html
svn path=/trunk/mono/; revision=9549
Diffstat (limited to 'web/ado-net')
-rw-r--r-- | web/ado-net | 162 |
1 files changed, 40 insertions, 122 deletions
diff --git a/web/ado-net b/web/ado-net index 6eced795105..27e8fd09f03 100644 --- a/web/ado-net +++ b/web/ado-net @@ -23,6 +23,7 @@ <ul> <li><a href="http://www.go-mono.com/mysql.html">MySQL</a> <li><a href="http://www.go-mono.com/odbc.html">ODBC</a> + <li><a href="http://www.go-mono.com/oracle.html">Oracle</a> <li><a href="http://www.go-mono.com/oledb.html">OLE DB</a> <li><a href="http://www.go-mono.com/postgresql.html">PostgreSQL</a> <li><a href="http://www.go-mono.com/sqlclient.html">Microsoft SQL Server</a> @@ -33,42 +34,43 @@ some of these databases are supported via the ODBC or OLEDB providers. <ul> <li><a href="http://www-3.ibm.com/software/data/db2/">IBM DB2 Universal Database</a> - <li>miniSQL - <li><a href="http://www.oracle.com/">Oracle</a> - could be done by creating C# bindings to OCI (Oracle C Call Level Interface) - <li>BerkeleyDB (Sleepycat) - <li><a href="http://www.sapdb.org/">SapDB</a> - <li>Microsoft Access - could be done by creating C# bindings to <a href="http://mdbtools.sourceforge.net">MDB Tools</a> - <li>dbase or xbase type database files - <li>Others, of course, are welcomed... - + <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>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> </ul> <br> <li>Modify Pre-existing ADO.NET Providers to work with Mono. This may require fixing or implementing areas of Mono too. <ul> - <li><a href="http://www.go-mono.com/firebird.html">Firebird Interbase</a> - <li><a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">Npgsql</a> a PostgreSQL provider - written in 100% C# - <li><a href="http://sourceforge.net/projects/mysqldrivercs/">MySQLDriverCS</a> is a MySQL provider written in C# - <li><a href="http://sourceforge.net/projects/mysqlnet/">MySQLNet</a> is a MySQL Manager provider written in C# + <li><a href="http://www.go-mono.com/firebird.html">Firebird Interbase</a></li> + <li><a href="http://gborg.postgresql.org/project/npgsql/projdisplay.php">Npgsql</a> is a PostgreSQL Managed data provider written + in 100% C# and does not require a client library </li> + <li><a href="http://sourceforge.net/projects/mysqlnet/">MySQLNet</a> is a MySQL Manager data provider written in 100% C# and does not + require a client library</li> + <li><a href="http://sourceforge.net/projects/mysqldrivercs/">MySQLDriverCS</a> is a MySQL data provider written in C#</li> + </ul> + </li> </ul> <br> <li>Create Tools for Configuration, Testing, and Entering SQL Queries <ul> - <li><b>SQL# CLI - a command-line tool</b> to execute SQL commands, + <li><b>SQL# CLI - a command-line tool</b> written in C# to + execute SQL commands, test connection strings, and connect to various ADO.NET providers in Mono. The SQL# CLI can be found in - mcs/tools/SqlSharp/SqlSharpCli.cs - It is written in C# and runs on Mono and .NET - - <li><p><b>SQL# GUI - a GUI tool</b> to execute SQL commands. + mcs/tools/SqlSharp/SqlSharpCli.cs</li> + <li><p><b>SQL# GUI - a GUI tool</b> written in C# to + execute SQL commands. Currently, there is SQL# For GTK# which can be found at - mcs/tools/SqlSharp/gui/gtk-sharp. It has a SQL editor with - syntax hi lighting of SQL keywords - + mcs/tools/SqlSharp/gui/gtk-sharp + It has a SQL editor with + syntax hi lighting of SQL keywords</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 @@ -76,13 +78,13 @@ <ul> <li>setup DSNs for the ODBC and OLE-DB providers and configurations for - their underlying libraries (unixODBC and libgda) + their underlying libraries (unixODBC and libgda)</li> <li>setup configurations for the Mono.Data.ProviderFactory - that Brian Ritchie created + that Brian Ritchie created</li> <li>setup native database client library configurations too, such as, - freetds.conf for Microsoft SQL Server and Sybase + freetds.conf for Microsoft SQL Server and Sybase</li> </ul> - + </li> </ul> </ul> @@ -95,6 +97,18 @@ <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. + + <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. + + <p><b>ADO.NET Provider Factory</b> has been started by Brian Ritchie. The + Provider Factory is used to dynamically create + connections, commands, parameters, and data adapters based on configuration information. This + provider factory can also provide utility functions needed by a lot of + providers but are not exposed via the provider. <p><b>Integration with ASP.NET</b> has not been started, such as, data binding to a System.Web.UI.WebControls.DataGrid. This may involve implementing many classes @@ -135,103 +149,7 @@ gtk+ widgets (GUI controls) for data access. There are some nifty widgets (GUI controls) that can be used, such as, GnomeDbGrid, GnomeDbBrowswer, GnomeDbSqlEditor, GnomeDbList, GnomeDbLogin, GnomeDbReportEditor, GnomeDbTableEditor, - GnomeDbCombo, and GnomeDbForm. Rodrigo Moya is the best person to contact. - - <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. - - <p><b>ADO.NET Provider Factory</b> has been started by Brian Ritchie. The - Provider Factory is used to dynamically create data provider - connections and data adapters based on configuration information. This - provider factory can also provide utility functions needed by a lot of - providers but are not exposed via the provider. - - <p><b>ADO.NET Multiplexor Provider</b> needs to be created. It can use the - ADO.NET Provider Factory to create its connections and adapters, but the - Multiplexor Provider is a Generic Provider that internally uses an existing - provider based on configuration options. This is not - part of Microsoft .NET, but it needs to be able to run on Microsoft .NET - and Mono. This provider can be a generic provider, much like the ODBC.NET and - OLEDB.NET providers are, but be written in 100% C# and be configurable via - a configuration file. This provider will multiplex to other providers - that exist. If one does not exist for a given DBMS, - default to the ODBC or OLEDB .NET provider. - - <p>According to Gonzalo, this is how the configuration could be implemented for - the Provider Factory and Multiplexor Provider. - - <p>After some work done in System.Configuration, you can now do something - like: - - <p> - <pre> - // Get an instance of the multiplexor from machine.config file - // Can be overriden in the application config file - object o = ConnectionSettings.GetConfig - ("mono.data/multiplexor"); - if (o == null) - --- error - - Multiplexor mp = (Multiplexor) o; - - // may be a string [] argument can help passing arguments - IDbConnection cnc = mp.CreateConnection (providerName); -</pre> - - <p>and in the machine.config file: - -<pre> - <configuration> - <configSections> - <section name="mono.data" - type="Mono.Data.MultiplexorSectionHandler,Mono.Data"/> - .... - </configSections> - ... - <sectionGroup name="mono.data"> - <multiplexor> - <add provider="PostgreSQL" - type="Mono.Data.PostgreSQLClient,Mono.Data" - validate="false" - parameters="USER=xxx;HOST=127.0.0.1;DBNAME=xxx"/> - </multiplexor> - </sectionGroup> - </configuration> -</pre> - - <p>validate="false" tells MultiplexorSectionHandler not to load the Type - until an instance is required. You can add more attributes or whatever - inside <multiplexor> as long as MultiplexorSectionHandler parses it. - -<pre> -public class MultiplexorSectionHandler : -IConfigurationSectionHandler -{ - public object Create (object parent, - object configContext, - XmlNode section) - { - Multiplexor mp; - // Here you get the ChildNodes and - // set up a Multiplexor - // instance that will hold the information - // needed to create - // instances of each provider. Only one - // instance will be - // created by the config system. - return mp; - } - } -</pre> - <p>This way, if our providers works with MS, the user can test them in both - MS and mono by just adding a few lines to machine.config (i still have - to upload a default machine.config file for mono). And this is the .NET - way of doing it (of course, if you prefer, you can use the other config - file. I just wanted to make people aware of this feature that now works - on mono). + GnomeDbCombo, and GnomeDbForm. Rodrigo Moya is the best person to contact. <p><b>Building System.Data</b> |