Chapter 46. SQL Server and the Microsoft .NET Framework

by Paul Bertucci


  • The Microsoft .NET Framework Class Library


  • .NET SQL Providers

  • .NET Concurrency Model (Default)

  • XML Externalization in .NET

  • A .NET Application Within Visual Studio .NET

The Microsoft .NET Framework has been thrust upon us to address enterprise-wide, largescale application development for both Web-based applications and traditional Windows-based applications. This is one of the most significant technology shifts Microsoft has ever made. It is Microsoft's answer to J2EE/J2SE (Sun's Java-centric multitiered framework).

Like J2EE, the .NET Framework is a multitiered platform that consists of developer tools, Web services, a set of strongly typed programming languages that are syntactically identical whether used to program for the Web or for the desktop, a common language runtime, a set of framework classes encapsulating areas of common functionality, and a greatly improved data access model.

Microsoft SQL Server 2000 sits firmly in the heart of .NET as the major data provider for this framework. You can take advantage of 100 percent of the power of SQL Server 2000 within any .NET application. SQL Server 2000 interacts with any external system as well, easily communicating with other non-Windows platforms via XML.

Microsoft's .NET Framework ships with a set of useful built-in classes. These classes contain many of the objects you'll use to create applications, both for the Web and for the desktop, such as all built-in Web controls, Windows forms controls, and collection objects. Several of these built-in classes make up ADO.NET (the data layer for .NET). It is this layer that we will focus on here because it directly relates to how SQL Server 2000 is used in the .NET Framework.

Figure 46.1 illustrates the basic multitiered components that constitute the .NET Framework and the ADO.NET data layer.

Figure 46.1. The Microsoft .NET Framework.


As you can see in Figure 46.1, the .NET SQL Server Data Provider embraces SQL Server (both SQL Server 7.0 and 2000). This data provider layer has been fine-tuned for SQL Server. All other database engines or file systems (such as Oracle and Excel) are addressed via the OLE DB .NET Data Provider or some other data provider unique to a data source. The overall .NET Data Provider spans all the specific data providers and is utilized in programming environments using ADO.NET classes. In other words, ADO.NET is the way SQL (or XML) is invoked from any programming environment (Visual Basic .NET, C# .NET, J# .NET, ASP.NET, and so on).

    Part III: SQL Server Administration
    Part IV: Transact-SQL
    Part V: SQL Server Internals and Performance Tuning
    Part VI: Additional SQL Server Features