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/tdsclient')
-rwxr-xr-xweb/tdsclient157
1 files changed, 157 insertions, 0 deletions
diff --git a/web/tdsclient b/web/tdsclient
new file mode 100755
index 00000000000..2c58aea698f
--- /dev/null
+++ b/web/tdsclient
@@ -0,0 +1,157 @@
+* TDS Generic Provider
+
+<ul>
+ <li>ADO.NET Provider for older Sybase and Microsoft SQL Server databases</li>
+
+ <li>Exists in namespace Mono.Data.TdsClient and assembly Mono.Data.TdsClient</li>
+
+ <li>Created by Tim Coleman</li>
+
+ <li>Used the <a href="http://www.freetds.org/">FreeTDS</a> and
+ <a href="http://jtds.sourceforge.net/">jTDS</a> projects as resources.</li>
+
+ <li>Implemented in 100% C#</li>
+
+ <li>Is similar to the Mono.Data.SybaseClient and System.Data.SqlClient providers.</li>
+
+ <li>Requires the assembly Mono.Data.Tds.dll which implements the TDS protocol in 100% C#.</li>
+
+ <li>Uses TDS Protocol Version 4.2 by default</li>
+
+ <li>Bugs with Mono or the data provider should be reported
+ in Mono's Bugzilla <a href="http://bugzilla.ximian.com/">here</a>. If you
+ do not have Bugzilla user account, it is free
+ and easy to
+ create one <a href="http://bugzilla.ximian.com/createaccount.cgi">here</a>.</li>
+
+</ul>
+
+** Current Status
+
+
+<ul>
+ <li>Only builds on Windows currently due to mcs does not support modules and mcs
+ has problems with code that is internal.</li>
+
+ <li>Able to connect to Microsoft SQL Server and Sybase databases</li>
+
+ <li>SQL commands can be executed
+ via ExecuteNonQuery() of a TdsCommand.</li>
+
+ <li>SQL aggregates can be executed and a single row and single column
+ result can be retrieved via ExecuteScalar() of a TdsCommand</li>
+
+ <li>SQL queries can be executed via ExecuteReader() and results
+ can be retrieved via TdsDataReader.</li>
+
+ <li>a DataTable with schema info about a result can be gotten via GetSchemaTable()
+ in a TdsDataReader</li>
+
+ <li>Data can be filled in a DataTable in a DataSet via a TdsDataAdapter</li>
+</ul>
+
+** Action plan
+
+<ul>
+ <li>Connection timeouts is being developed now.</li>
+
+ <li>TODO</li>
+</ul>
+
+** Testing
+
+<ul>
+ <li>Have a working mono and mcs installed</li>
+
+ <li>Have access to a Sybase or Microsoft SQL Server database
+ or either download it:
+ <ul>
+ <li><a href="http://www.microsoft.com/sql/default.asp">Microsoft SQL Server</a></li>
+ <li><a href="http://www.sybase.com/downloads">Sybase</a></li>
+ </ul>
+ </li>
+ <li>If using Microsoft SQL Server 2000, make sure
+ you are using at least Service Pack 3 for Microsoft SQL Server 2000</li>
+
+ <li>Located at mcs/class/System.Data/Test is a test for System.Data.SqlClient
+ named SqlTest.cs and you could use this as a basis for your test.</li>
+
+ <li>Has a connection string format:
+<pre>
+ Server=hostname;Database=databaseName;User ID=userid;Password=password
+</pre>
+ </li>
+ <li>The Server part can be used two ways:
+ <ul>
+ <li>hostname - "Server=MYHOST"</li>
+ <li>hostname,port - "Server=MYHOST,1533"</li>
+ </ul>
+ </li>
+
+ <li>C# Example:
+<pre>
+ using System;
+ using System.Data;
+ using Mono.Data.TdsClient;
+
+ public class Test
+ {
+ public static void Main(string[] args)
+ {
+ string connectionString =
+ "Server=localhost;" +
+ "Database=pubs;" +
+ "User ID=myuserid;" +
+ "Password=mypassword;";
+ IDbConnection dbcon;
+ dbcon = new TdsConnection(connectionString);
+ dbcon.Open();
+ IDbCommand dbcmd = dbcon.CreateCommand();
+ string sql =
+ "SELECT fname, lname " +
+ "FROM employee";
+ dbcmd.CommandText = sql;
+ IDataReader reader = dbcmd.ExecuteReader();
+ while(reader.Read()) {
+ string FirstName = (string) reader["fname"];
+ string LastName = (string) reader["lname"];
+ Console.WriteLine("Name: " +
+ FirstName + " " + LastName);
+ }
+ // clean up
+ reader.Close();
+ reader = null;
+ dbcmd.Dispose();
+ dbcmd = null;
+ dbcon.Close();
+ dbcon = null;
+ }
+ }
+</pre>
+ </li>
+ <li>Building C# Example:
+ <ul>
+ <li>Save the example to a file, such as, TestExample.cs</li>
+ <li>Build on Linux:
+<pre>
+ mcs TestExample.cs -r System.Data.dll \
+ -r Mono.Data.TdsClient.dll
+</pre>
+ </li>
+ <li>Build on Windows via Cygwin:
+<pre>
+ mono C:/cygwin/home/MyHome/mono/install/bin/mcs.exe \
+ TestExample.cs \
+ -lib:C:/cygwin/home/MyHome/mono/install/lib \
+ -r System.Data.dll -r Mono.Data.TdsClient.dll
+</pre>
+ </li>
+ </ul>
+ </li>
+ <li>Running the Example:
+<pre>
+mono TestExample.exe
+</pre>
+ </li>
+</ul>
+