Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/mono.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'web/tds-providers')
-rw-r--r--web/tds-providers164
1 files changed, 0 insertions, 164 deletions
diff --git a/web/tds-providers b/web/tds-providers
deleted file mode 100644
index 6442e69601a..00000000000
--- a/web/tds-providers
+++ /dev/null
@@ -1,164 +0,0 @@
-* Design of the Microsoft SQL Server, Sybase, and TDS Data Providers in Mono
-
- <ul>
- * After much discussion among the Mono ADO.NET developers,
- we have come up with the design of implementing a Sybase, Microsoft
- SQL Server, and TDS Generic ADO.NET providers. These providers have
- been created and are actively developed by Tim Coleman.
-
- * Since Sybase and Microsoft SQL Server databases both
- use the TDS protocol for data access, and other implementations
- of TDS (FreeTDS and jTDS) have included support for multiple
- versions of the TDS, we have decided to do the same.
-
- * The TdsClient ADO.NET provider will be Mono's first provider
- written completely in C# without any dependencies except
- the usual suspects: corlib.dll, System.dll, and System.Xml.dll.
- </ul>
-
-* New ADO.NET Providers
-
-<p>There will be three ADO.NET providers that will use TDS.
-
- <ol>
- <li><p>Mono.Data.SybaseClient namepace and assembly will
- hold the ADO.NET provider for Sybase SQL Server database.
- This provider uses TDS version 5.0 which
- can only be used with Sybase databases.
-
- <li><p>System.Data.SqlClient namespace and System.Data assembly
- will hold the ADO.NET provider
- for Microsoft SQL Server 7.0/2000 databases. This provider is to be
- compatible with SqlClient in Microsoft .NET and uses TDS version 7.0
- which only supports Microsoft SQL Server 7.0/2000.
- There is TDS version 8.0
- which we will need to support as well, but it is used for
- Microsoft SQL Server 2000 databases.
-
- <li><p>Mono.Data.TdsClient namespace and assembly is a generic
- provider for older TDS databases. This provider will default to
- using TDS version 4.2 which can be used by older Sybase and
- Microsoft SQL Server databases.
- </ol>
-
-* Building The New Providers
-
- <p> All three providers will use common internal code
- at Mono.Data.TdsClient.Internal. Any classes in
- Mono.Data.TdsClient.Internal will have the internal
- keyword and will be built with the assembly of that provider.
- <ol>
- <li><p>SqlClient will build its assembly System.Data using files
- from System.Data, System.Data.SqlClient, System.Data.SqlTypes,
- System.Data.Common, and Mono.Data.TdsClient.Internal.
-
- <p>SqlClient
- will only reference the usual
- suspects: corlib.dll, System.dll, and System.Xml.dll. SqlClient will be
- a wrapper around TdsClient.Internal, but provide specific functionality to
- Microsoft SQL Server 7.0/2000 databases.
-
- <p>SqlClient build example:
-
-<pre>
- mcs -target:library -out:System.Data.dll \
- System.Data.SqlClient/*.cs \
- ..\Mono.Data.TdsClient\Mono.Data.TdsClient.Internal\*.cs \
- [any other classes in System.Data assembly...] \
- -r corlib.dll -r System.dll -r System.Xml.dll
-</pre>
-
- <li><p>SybaseClient will build its assembly Mono.Data.SybaseClient using
- files from Mono.Data.SybaseClient and Mono.Data.TdsClient.Internal.
- SybaseClient will reference
- the usual suspects plus System.Data.dll SybaseClient will
- be a wrapper around TdsClient.Internal, but provide specific
- functionality to Sybase.
-
- <p>SybaseClient build example:
-
-<pre>
- mcs -target:library -out:Mono.Data.SybaseClient.dll \
- Mono.Data.SybaseClient\*.cs \
- ..\Mono.Data.TdsClient\Mono.Data.TdsClient.Internal\*.cs
- -r corlib.dll -r System.dll -r System.Xml.dll -r System.Data.dll
-</pre>
-
- <li><p>TdsClient will build its assembly Mono.Data.TdsClient
- using files from Mono.Data.TdsClient
- and Mono.Data.TdsClient.Internal. TdsClient will reference the
- usual suspects plus System.Data.dll TdsClient is a wrapper
- provider around TdsClient.Internal used for generic
- unit tests. TdsClient will a wrapper around TdsClient.Internal
- as a generic TDS provider
- and allow TDS configuration options not exposed in SqlClient
- nor SybaseClient, such as, TdsVersion will be exposed in TdsClient
- but not in SqlClient nor SybaseClient.
-
- <p>TdsClient build example:
-
-<pre>
-mcs -target:library -out:Mono.Data.TdsClient.dll \
- Mono.Data.TdsClient\*.cs \
- Mono.Data.TdsClient.Internal\*.cs \
- -r corlib.dll -r System.dll -r System.Xml.dll -r System.Data.dll
-</pre>
- </ol>
-
-* Classes in Mono.Data.TdsClient.Internal will:
-
- <ul>
- <li>use the internal keyword to prevent exposing these classes
- to the System.Data.dll assembly.
-
- <li> implement the ADO.NET interfaces just like any other ADO.NET provider, such as,
- IDbConnection, IDbCommand, IDataReader, IDataRecord, IDataAdapter, etc...
-
- <li> be sealed just like other providers
-
- <li> provide features to be directly used by the SqlClient and SybaseClient
- providers, such
- as, setting the default TDS version: SqlClient to 7.0 and SybaseClient
- to 5.0 and TdsClient to 4.2.
-
- <li> be written completely in C# or IL assembly language (if need be).
-
- <li> implement the TDS protocol version 4.2, 5.0, 7.0, and 8.0. This
- is where most of the
- work will take place.
-
- <li> be an internal ADO.NET provider to the public ADO.NET providers:
- System.Data.SqlClient, Mono.Data.SybaseClient, and Mono.Data.TdsClient.
- </ul>
-
-* Implementation Details of the TDS Protocol
-
- <ul>
- * will be implemented in pure C# from scratch
-
- * will reside in Mono.Data.TdsClient.Internal
-
- * will use FreeTDS and jTDS as rerferences.
- </ul>
-
-* More Information
-
- <ul>
- * <a href="http://www.freetds.org/">FreeTDS</a> is C API that implements
- the TDS protocol. Has libraries for tds, ctlib, and dblib. It builds
- and runs on Windows, Linux, and other platforms. FreeTDS provides
- data access to Microsoft SQL Server and Sybase databases.
-
- * <a href="http://jtds.sf.net/">jTDS</a> is a 100% Java JDBC provider
- for Microsoft SQL Server and Sybase databases.
-
- * <a href="http://www.freetds.org/tds.html">TDS Protocol</a>
- </ul>
-
-* Contribute
-
- <p>Anybody willing to help? If so,
- contact any of the people working on the ADO.NET support
- in Mono: Rodrigo Moya, Tim Coleman, Daniel Morgan, Brian Ritchie,
- Vladimir Vukicevic, Ville Palo, Franklin Wise, and others.
-