[Mono-bugs] [Bug 32051][Wis] New - Create TDS ADO.NET Provider in System.Data.SqlClient

bugzilla-daemon@rocky.ximian.com bugzilla-daemon@rocky.ximian.com
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 danmorg@sc.rr.com.

http://bugzilla.ximian.com/show_bug.cgi?id=32051

--- shadow/32051	Thu Oct 10 02:36:48 2002
+++ shadow/32051.tmp.7542	Thu Oct 10 02:36:48 2002
@@ -0,0 +1,53 @@
+Bug#: 32051
+Product: Mono/Class Libraries
+Version: unspecified
+OS: 
+OS Details: 
+Status: NEW   
+Resolution: 
+Severity: 
+Priority: Wishlist
+Component: System.Data.SqlClient
+AssignedTo: rodrigo@ximian.com                            
+ReportedBy: danmorg@sc.rr.com               
+QAContact: mono-bugs@ximian.com
+TargetMilestone: ---
+URL: 
+Cc: 
+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 
+platform.