[Mono-bugs] [Bug 32051][Wis] New - Create TDS ADO.NET Provider in System.Data.SqlClient
10 Oct 2002 06:36:48 -0000
Please do not reply to this email- if you want to comment on the bug, go to the
URL shown below and enter your comments there.
Changed by firstname.lastname@example.org.
--- shadow/32051 Thu Oct 10 02:36:48 2002
+++ shadow/32051.tmp.7542 Thu Oct 10 02:36:48 2002
@@ -0,0 +1,53 @@
+Product: Mono/Class Libraries
+Summary: Create TDS ADO.NET Provider in System.Data.SqlClient
+After the PostgreSQL provider has been moved from System.Data.SqlClient
+to Mono.Data.PostgreSQL, create a TDS ADO.NET Provider in
+System.Data.SqlClient to be compatible with Microsoft .NET.
+TDS stands for Tabular DataStream and is a protocol that can be
+implemented in any language that supports networking and is used in
+accessing Microsoft SQL Server and Sybase databases.
+Microsoft has their SqlClient managed provider implemented completely
+in .NET (whether it was completely written in C# or not, I don't know).
+Below, I have listed various open source projects that
+have implemented or use TDS.
+FreeTDS at http://www.freetds.org/ has native c libraries that implement
+the TDS protocol on Unix. It also has libraries for various standard
+APIs used by Microsoft SQL Server and Sybase, like dblib and ctlib.
+jTDS, found at the FreeTDS web site, is written in 100% java and
+implements the JDBC 2.0 interfaces.
+libgda at http://www.gnome-db.org/ has a FreeTDS provider
+There are various options for creating a TDS provider:
+- create a provider based on C# bindings to the FreeTDS native libraries
+- port jTDS to C# and the System.Data data model
+- create a completely new TDS provider using FreeTDS and jTDS
+ as references
+- wrap System.Data.SqlClient around System.Data.OleDb at our TDS provider.
+ System.Data.OleDb on Mono uses libgda as its OLE-DB/ADO layer.
+ In libgda, there is a FreeTDS provider.
+The problems with using FreeTDS and/or libgda is that it adds yet another
+dependency on native libraries which may or may not work on a particular