ADO.NET 2.0 功能一览
服务器枚举
Machine.config中的提供程序配置项目指定了一个位掩码,以指示该提供程序支持
哪些基类或基接口。这是因为并非所有的数据提供程序都需要支持System.Data.Common
中的所有功能。例如,CommandBuilder是一个“最好具有”的类,但是没有它您也可以
很好地完成工作。DbEnumerator是一个新的基类,它已经被添加到ADO.NET 2.0的混合功
能中。该类使支持它的数据提供程序可以获得数据源列表。例如,SqlClient支持该类并
且返回网络中可用的SQL Server实例的列表。这使得程序和工具可以为用户提供精选的
数据源。使用这一功能的工具之一是Visual Studio 2005。
连接字符串生成器和元数据架构
直到现在,Visual Studio .NET仍然使用OLE DB组件生成连接字符串以表示数据源
。当您使用Visual Studio 2005中的服务器资源管理器在Visual Studio .NET 2003中添
加新的数据连接时,它会显示OLE DB连接字符串生成器,该生成器会列出计算机上安装
的OLE DB提供程序而不是.NET数据提供程序。然后,它允许您选择一个提供程序(虽然
是OLE DB提供程序),并为相应的提供程序生成一个ADO.NET连接字符串。在Visual St
udio 2005中,上面提到的DbProviderFactories可以为您显示一列.NET数据提供程序,
并且图形用户界面组件使用类DbConnectionStringBuilder使程序员能够以图形方式生成
连接字符串,以及从配置文件中加载连接字符串和在配置文件中存储连接字符串。Visu
al Studio 2005服务器资源管理器还可以获取数据源元数据(例如表、列、视图和存储
过程的列表)以进行显示。ANSI SQL规范具有对应于该元数据的基本规范,该规范称为
INFORMATION_SCHEMA视图。这些通用视图是一个很好的起点,但有时需要用特定于数据
库的视图或信息进行扩展。在ADO.NET 2.0中,数据提供程序可以提供一个XML格式的配
置文件,以列出哪些元数据可用以及如何从数据库中获得它们,这是因为并非所有的数
据库都支持INFORMATION_SCHEMA视图。这将在允许工具程序员( tool programmer)获
得提供程序定义的扩展信息集方面提供巨大的帮助。
跟踪
允许程序员和技术支持人员在获得来自用户的说明或来自程序的错误信息之后,对
数据库API的调用进行跟踪以查明问题位于数据访问堆栈中的哪个位置,将会非常有用。
通常,问题可能产生于下列方面:
1. 客户端程序和数据库实体之间架构不匹配。
2. 数据库的不可用性或网络库问题。
3. 不正确的SQL(无论是硬编码的还是由应用程序生成的)。
4. 不正确的编程逻辑。
在过去,编写代码以允许跟踪的工作是留给各个提供程序编写者完成的,尽管在某
些API(例如ODBC)中存在一些事实上的标准。由于缺少标准的OLE DB跟踪,因此解决O
LE DB和ADO问题变得更为困难。尽管这不是ADO.NET所独有的体系结构,但ADO.NET 2.0
中的Microsoft提供程序利用了一般化的跟踪和检测API。使用这一新功能,您将能够在
应用程序堆栈的任何级别跟踪问题。不仅Microsoft ADO.NET提供程序被检测,而且数据
访问堆栈的其他部分也使用了该功能,并且提供程序编写者也可以实现该功能。甚至AD
O.NET 2.0数据集和相关的类也具有内置的诊断机制。我将在以后的文章中深入讨论跟踪
。
SqlClient增强
Microsoft的主打数据库是SQL Server,而SqlClient是特定于SQL Server的提供程
序。ADO.NET 2.0实际上随附了四个Microsoft提供程序:
1. SqlClient—用于SQL Server的Microsoft提供程序。
2. OracleClient—用于Oracle数据库的Microsoft提供程序。
3. OleDb—用于在ADO.NET中使用OLE DB提供程序的桥梁提供程序。
4. Odbc—用于在ADO.NET中使用ODBC驱动程序的桥梁提供程序。
在ADO.NET 2.0中,已经对上述所有四个提供程序进行了增强,以便能够在部分受信
任的环境中使用它们。通过正确地配置.NET代码访问安全性(CAS),可以启用更多以数据
为中心的移动代码方案。在ADO.NET 1.1中,只有SqlClient提供程序支持该功能。此外
,数据提供程序由数据库公司(Oracle的ODP.NET和IBM的用于DB2的数据提供程序)、提
供程序专业公司(DataDirect Technologies)、开放源代码项目和个人编写。此外,Mic
rosoft将在Host Integration Server 2004产品中随附DB2数据提供程序。因为SQL Ser
ver是软件难题的一个重要部分,所以除了对所有Microsoft支持的提供程序的增强以外
,还有许多对ADO.NET 2.0中的SqlClient进行的增强。该功能的某些部分支持任何版本
的SQL Server,而该新功能的大部分旨在支持SQL Server 2005(它的代号“Yukon”可
能更容易为大家所知)中提供的许多新功能。SQL Server 2005支持在该服务器内部运行
的.NET代码,而且在使用提供程序模型的服务器内部还有对数据访问的优化。一项较大
的内部更改(并不显而易见)是,ADO.NET 2.0中的SqlClient数据提供程序不使用Micr
osoft数据访问组件(MDAC)。在该提供程序中还有更好的错误处理,网络错误的错误信息
更加清楚,并且错误信息在总体上更加具体。以下是供程序员参阅的特定于SqlClient的
功能概述。
from:asp学习网/title:ADO.NET 2.0 功能一览/ time:2007-6-1 22:18:11
本文主题,NET