您的位置:首页 > 其它

.NET 数据提供程序

2008-03-06 22:35 288 查看
.NET 数据提供程序用于连接到数据库、执行命令和检索结果。您可以直接处理检索到的结果,或将其放入 ADO.NET DataSet 对象,以便与来自多个源的数据或在层之间进行远程处理的数据组合在一起,以特殊方式向用户公开。.NET 数据提供程序在设计上是轻量的,它在数据源和代码之间创建了一个最小层,以便在不以功能为代价的前提下提高性能。

下表概括了组成 .NET 数据提供程序的四个核心对象。

对象
说明

Connection
建立与特定数据源的连接。

Command
对数据源执行命令。公开 Parameters,并且可以从 Connection Transaction 的范围内执行。

DataReader
从数据源中读取只进且只读的数据流。

DataAdapter
用数据源填充 DataSet 并解析更新。

.NET 框架包括 SQL Server .NET 数据提供程序(用于 Microsoft SQL Server 版本 7.0 或更高版本)和 OLE DB .NET 数据提供程序。

开放式数据库连接 (ODBC) .NET 数据提供程序可以单独从 http://msdn.microsoft.com/downloads 下载。该下载包括有关构成 ODBC .NET 数据提供程序的类的文档。不过,该实现的结构与 SQL Server .NET 数据提供程序和 OLE DB .NET 数据提供程序相同。因此,本节中提供的信息也可应用于 ODBC .NET 数据提供程序。

SQL Server .NET 数据提供程序

SQL Server .NET 数据提供程序使用它自己的协议来与 SQL Server 进行通讯。由于它经过了优化,可以直接访问 SQL Server 而不用添加 OLE DB 或开放式数据库连接 (ODBC) 层,因此它是轻量的,并具有良好的性能。下图将对比 SQL Server .NET 数据提供程序和 OLE DB .NET 数据提供程序。OLE DB .NET 数据提供程序通过 OLE DB 服务组件(它提供连接池和事务服务)和数据源的 OLE DB 提供程序与 OLE DB 数据源进行通讯。

SQL Server .NET 数据提供程序和 OLE DB .NET 数据提供程序之间的比较

若要使用 SQL Server .NET 数据提供程序,您必须具有对 Microsoft SQL Server 7.0 或更高版本的访问权。SQL Server .NET 数据提供程序类位于 System.Data.SqlClient 命名空间。对于 Microsoft SQL Server 的较早版本,请将 OLE DB .NET 数据提供程序用于 SQL Server OLE DB 提供程序 (SQLOLEDB)。

以下代码示例显示如何在应用程序中包含 System.Data.SqlClient 命名空间。

[Visual Basic]
Imports System.Data.SqlClient

[C#]
using System.Data.SqlClient;

SQL Server .NET 数据提供程序要求安装 Microsoft Data Access Components (MDAC) 版本 2.6 或更高版本。

OLE DB .NET 数据提供程序

OLE DB .NET 数据提供程序通过 COM Interop 来使用本机 OLE DB 启用数据访问。OLE DB .NET 数据提供程序支持手动和自动事务。对于自动事务,OLE DB .NET 数据提供程序会自动在事务中登记,并从 Windows 2000 组件服务中获取事务详细信息。

若要使用 OLE DB .NET 数据提供程序,所使用的 OLE DB 提供程序必须支持 OLE DB .NET 数据提供程序所使用的 OLE DB 接口中列出的 OLE DB 接口。

下表显示已经用 ADO.NET 进行测试的提供程序。

驱动程序
提供程序

SQLOLEDB
用于 SQL Server 的 Microsoft OLE DB 提供程序

MSDAORA
用于 Oracle 的Microsoft OLE DB 提供程序

Microsoft.Jet.OLEDB.4.0
用于 Microsoft Jet 的 OLE DB 提供程序

OLE DB .NET 数据提供程序不支持 OLE DB 版本 2.5 接口。要求支持 OLE DB 2.5 接口的 OLE DB 提供程序将无法与 OLE DB .NET 数据提供程序一起正确运行。这种 OLE DB 提供程序包括用于 Exchange 的 Microsoft OLE DB 提供程序和用于 Internet 发布的 Microsoft OLE DB 提供程序。

OLE DB .NET 数据提供程序无法与用于 ODBC 的 OLE DB 提供程序 (MSDASQL) 一起运行。若要使用 ADO.NET 访问 ODBC 数据源,请使用 ODBC .NET 数据提供程序,该数据提供程序可以从 http://msdn.microsoft.com/downloads 下载。

OLE DB .NET 数据提供程序类位于 System.Data.OleDb 命名空间。以下代码示例显示如何在应用程序中包含 System.Data.OleDb 命名空间。

[Visual Basic]
Imports System.Data.OleDb

[C#]
using System.Data.OleDb;

OLE DB .NET 数据提供程序要求安装 MDAC 2.6 或更高版本。

选择 .NET 数据提供程序

根据应用程序的设计和数据源,您所选择的 .NET 数据提供程序可以提高应用程序的性能、功能和完整性。下表讨论每一 .NET 数据提供程序的优点和限制。

提供程序
注释

SQL Server
.NET 数据提供程序
建议用于使用 Microsoft SQL Server 7.0 或更高版本的中间层应用程序。

建议用于使用 Microsoft 数据引擎 (MSDE) 或者 Microsoft SQL Server 7.0 或更高版本的单层应用程序。

建议用于与 OLE DB .NET 数据提供程序一起使用的用于 SQL Server 的 OLE DB 提供程序 (SQLOLEDB)。

对于 Microsoft SQL Server 版本 6.5 和较早版本,必须将用于 SQL Server 的 OLE DB 提供程序与 OLE DB .NET 数据提供程序一起使用。

OLE DB .NET
数据提供程序
建议用于使用 Microsoft SQL Server 6.5 或较早版本的中间层应用程序,或任何支持 OLE DB .NET 数据提供程序所使用的 OLE DB 接口中所列 OLE DB 接口(不要求 OLE DB 2.5 接口)的 OLE DB 提供程序。

对于 Microsoft SQL Server 7.0 或更高版本,建议使用 SQL Server .NET 数据提供程序。

建议用于使用 Microsoft Access 数据库的单层应用程序。不建议将 Microsoft Access 数据库用于中间层应用程序。

禁用对用于 ODBC 的 OLE DB 提供程序 (MSDASQL) 的支持。若要访问开放式数据库连接 (ODBC) 数据源,可以从 http://msdn.microsoft.com/downloads 单独下载一个 ODBC .NET 数据提供程序。

OLE DB .NET 数据提供程序所使用的 OLE DB 接口:下表列出了一些 OLE DB 接口,OLE DB 提供程序必须支持这些接口,才能与 OLE DB .NET 数据提供程序一起使用。其中还包括可选的接口。

OLE DB 对象
接口(* 指示可选接口)



OLE DB 服务
IDataInitialize

数据源
IDBInitialize
IDBCreateSession
IDBProperties
IPersist
IDBInfo*

会话
ISessionProperties
IOpenRowset
IDBSchemaRowset*
ITransactionLocal*
IDBCreateCommand*

命令
ICommandText
ICommandProperties
ICommandWithParameters*
IAccessor(只有当支持 ICommandWithParameters 时才需要)
ICommandPrepare*



多项结果
IMultipleResults

行集
IRowset
IAccessor
IColumnsInfo
IColumnsRowset*
IRowsetInfo(只有当支持 DBTYPE_HCHAPTER 时才需要)


IRow*

错误
IErrorInfo
IErrorRecords
ISQLErrorInfo*
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: