SQLClient Support for the New Date and Time Types in SQL Server 2008

Prior to SQL Server 2008, SQL developers were restricted to using two types to work with date and time values: datetime and smalldatetime. While they are sufficient in most user scenarios, there are some limitations: 1)      Both types include both the date value and time value. There is no way to store only the date …

Performance Tips with SqlClient

Here’s a list of things to know if you’d like achieve the best performance/scalability with SqlClient: Use SqlBulkCopy to send large sets of data to the server Set DbDataAdapter.UpdateBatchSize to send batches to the server Use strongly typed getters instead of GetValue/GetSqlValue Turn on CommandBehavior.SequentialAccess and call GetChars/GetBytes when working with BLOBs Use parameterized queries …

Using MSDTC between Vista clients and Windows 2000 servers

Background Consider the following two scenarios: 1.       You have implemented a .NET application accessing a specific COM+ service with automatic transaction processing.  You derived a class from ServicedComponent, set the Transaction attribute for the class, and applied the Automatic attribute to a method which opens a SqlConnection. 2.       Inside a TransactionScope, you wanted to open …

General Network Error in .Net Framework 1.1

Under some circumstances (such as with certain network bandwidth), you might get a general network error in .Net Framework 1.1 when executing a query that takes longer than SqlCommand.CommandTimeout value. This has something to do with how SqlClient 1.1 deals with timeout. Basically we track the timeout value by decrementing it each time after we …

Internal connection fatal error when trying to run a UNION ALL query or to call the DeriveParameters method

http://support.microsoft.com/kb/913764/ The KB article didn’t say a lot of details about this bug. Usually the following conditions have to been met in order to trigger the bug: 1. Query must run against sql2000 (Sql2005 works fine) 2. The table name has to include 3 or more dots, ie: [A.B.C.D.E] 3. There has to be an …

Timeout when using SqlBulkCopy

For certain size of data, SqlBulkCopy.WriteToServer() may throw a timeout exception, although it won’t happen when MARS is turned on. The problem is caused by a bug in the code for handling some boundary scenarios. The workaround is to apply this patch: http://support.microsoft.com/kb/913177/

Resources

There’re a lot of resources online talking about ADO.NET: 1. Data Access and Storage Developer Center: official Data website at microsoft.com. 2. Data Access Blog: team’s blog site. You may find information interesting from different team members. 3. .NET Framework Data Access and Storage – MSDN Forums: it’s a place where lots of developers are …