Rants and Raves

Thanks for visiting my blog!

Book Review: ADO.NET 2.0 - Advanced Topics
Book Review: ADO.NET 2.0 - Advanced Topics
July 17, 2006

Url: http://www.amazon.com/gp/product/0735621411

Glenn Johnson has a very good book here on ADO.NET 2.0.  Unfortunately, it just good not great.  Here are my pros and cons:

Pros:

  1. Well written and thought out.
  2. Excellent coverage of ADO.NET Trace Logging.
  3. Coverage of LOBs/BLOBs/CLOBs is very well thought out.
  4. Discussion of Connection Pooling is very good.
  5. Coverage of writting your own classes that work with System.Transactions is invalulable.

Cons:

  1. Too many basic topics covered for an “Advanced Topics” book.
  2. ASP.NET GridView/WinForms GridView chapters are unnecessary and incomplete.
  3. Code examples are terse and somewhat unreadable (no blank lines).
  4. Some information inaccurate (e.g. Suggestion of using Database Mirroring in SQL Server 2005 which was dropped as a supported feature.)
  5. SQL Server Specific…lackluster Oracle, ODBC, OleDb coverage.
  6. Data Caching only discusses caching with SqlDependencyCache.  There are a myriad of caching options, and this is only one of them.

While not really a problem with the book, I disagree with the author in a number of assertions:

  • He pushes the idea of GUIDs as keys, but never discusses the index fragmentation issue with GUIDs as keys.
  • His discussion of SQLCLR doesn’t warn the users enough (I know “enough” is a subjective phrase) that they shouldn’t write all their code in SQLCLR.
  • Mentions that “The 8,000-byte limit is much higher than you should ever need.” when discussing SQLCLR User Defined Types.  I disagree since a single object might not reach that, but a shallow object graph will reach 8K very easily.
  • No comparison between SQLCLR UDT’s and XML Typed XML.
  • Using XML in SQL Server is touted instead of disuaded.  More often than not, storing your XML in SQL Server just to have it there (or without dissecting it into relational data) will just hurt performance and raise the complexity of a system.
  • He should have had coverage of ADO.NET and Custom Data Objects as well.

I gave the book a four out of five starts on Amazon.com because I think it will be a valuable resource for most developers. But it is not a perfect book.