4-1 ADO.NET简介 4

4-1-4   ADO.NET链接数据库管理系统

1.ADO.NET链接数据库的类型及方法

ADO.NET链接数据库的内容包括:链接到数据库、执行数据库操纵命令和检索结果。能够直接处理检索到的结果,也能够将其放入DataSet对象,方便与来自多个源的数据和在层之间进行远程处理的数据组合在一块儿,以特殊方式向用户公开。.NET Framework数据提供程序是轻量的,它在数据源和代码之间建立了一个最小层,以便在不以功能为代价的前提下提升性能。数据提供程序的在ADO.NET中分类如图411所示:
4-11  .NET数据提供程序的在ADO.NET中的分类图
ADO.NET操控数据库的主要对象包括:Connection对象,Command对象,DataReader对象,DataAdapter对象。41归纳了组成 .NET Framework 数据提供程序的四个核心对象。
4-1 .NET数据提供程序的四个核心对象表
对象
说明
Connection
创建与特定数据源的链接。全部Connection对象的基类均为 DbConnection 类。
Command
对数据源执行命令。公开Parameters,而且能够经过ConnectionTransaction的范围内执行。全部Command对象的基类均为 DbCommand 类。
DataReader
从数据源中读取只进且只读的数据流。全部DataReader对象的基类均为 DbDataReader 类。
DataAdapter
用数据源填充DataSet并解析更新。全部DataAdapter对象的基类均为 DbDataAdapter 类。
除表4-1列出的ADO.NET核心对象以外,.NET Framework 数据提供程序还包含4-2表列出的其余重要对象。
4-2 .NET数据提供程序的其余对象表
对象
说明
Transaction
使您可以在数据源的事务中登记命令。全部Transaction对象的基类均为 DbTransaction 类。
CommandBuilder
帮助器对象将自动生成DataAdapter的命令属性或将从存储过程派生参数信息并填充Command对象的Parameters集合。全部CommandBuilder对象的基类均为 DbCommandBuilder 类。
ConnectionStringBuilder
帮助器对象为建立和管理Connection对象所使用的链接字符串的内容提供了一种简单的方法。全部ConnectionStringBuilder对象的基类均为 DbConnectionStringBuilder 类。
Exception
在数据源中遇到错误时返回。对于在客户端遇到的错误,.NET Framework数据提供程序会引起.NET Framework异常。全部Exception对象的基类均为 DbException 类。
Error
公开数据源返回的警告或错误中的信息。
ClientPermission
.NET Framework数据提供程序代码访问安全属性。全部ClientPermission对象的基类均为 DBDataPermission 类。
另外,.NET数据提供程序的命名空间有四类,前面提到的这些对象在每类数据提供程序的命名空间里都有一套,而且某个对象在不一样的命名空间内名称是不一样的。四类命名空间分别是:SQLClientOLEDBOracleODBC,其对应的数据提供程序如表43所示:
4-3 四类.NET数据提供程序表
.NET Framework 数据提供程序
说明
SQL Server .NET Framework数据提供程序
提供对Microsoft SQL Server 7.0版或更高版本的数据访问。使用 System.Data.SqlClient 命名空间。
建议用于使用Microsoft SQL Server 7.0或更高版本的中间层应用程序,Microsoft数据库引擎(MSDE)SQL Server 7.0或更高版本的单层应用程序。
建议将用于SQL ServerOLE DB提供程序(SQLOLEDB)OLE DB .NET Framework数据提供程序一块儿使用。对于SQL Server 6.5版和较早版本,必须将用于SQL ServerOLE DB提供程序与OLE DB .NET Framework数据提供程序一块儿使用。
OLE DB .NET Framework数据提供程序
适合于使用OLE DB公开的数据源。使用 System.Data.OleDb 命名空间。
建议用于使用SQL Server 6.5或较早版本的中间层应用程序。
对于SQL Server 7.0或更高版本,建议使用SQL Server .NET Framework数据提供程序。还建议用于使用Microsoft Access数据库的单层应用程序。不建议将Access数据库用于中间层应用程序。
ODBC .NET Framework数据提供程序
适合于使用ODBC公开的数据源。使用 System.Data.Odbc 命名空间。
建议用于使用ODBC数据源的中间层和单层应用程序。
Oracle .NET Framework数据提供程序
适用于Oracle数据源。Oracle .NET Framework数据提供程序支持Oracle 客户端软件 8.1.7 版和更高版本,使用 System.Data.OracleClient 命名空间。建议用于使用Oracle数据源的中间层和单层应用程序。
每一类数据提供程序的命名空间里都有一套对象,它们是经过前缀名进行区别的,例如:SQLClient命名空间包含的对象有:SqlConnectionSqlCommandSqlDataReaderSqlDataAdapter等,OLEDB命名空间包含的对象有:OleDbConnectionOleDbCommandOleDbDataReaderOleDbDataAdapter等。

1.ADO.NET操控数据库的工做过程

.NET 数据提供程序的工做过程如图4-12所示:
4-12 .NET数据提供程序的工做过程图
在图4-12123步骤是从服务器检索数据的过程,AB是对数据库修改的过程。在这个过程当中12步和B过程都是.NET数据提供程序的工做步骤。

2.ADO.NETMS SQL Server的关联

因为架构在.NET Framework 2.0基础之上的VS2005软件开发系统平台与SQL Server数据库管理信息系统都是出自微软公司旗下产品,因此VS2005SQL Server的数据通讯自己就已经通过了优化,能够直接访问SQL Server而不用添加OLE DB或开放式数据库链接(ODBC)层,并具备良好的性能。
如下代码示例显示如何在应用程序中包含System.Data.SqlClient命名空间。
using System.Data.SqlClient;
 
注意
ODBC .NET Framework 数据提供程序的结构与 OLE DB .NET Framework 数据提供程序的结构类似;例如,它调入 ODBC 服务组件。

3.ADO.NETOLEDB的关联

OLEDB Microsoft的一个战略性系统级编程接口,用于管理整个组织内的数据。OLEDB 是创建在ODBC功能之上的一个开放规范,主要用于访问非关系型数据库。表44显示已经用ADO.NET进行测试的提供程序。
4-4 OLEDB数据提供程序所对应的数据源驱动程序表
驱动程序
提供程序
SQLOLEDB
用于SQL ServerMicrosoft OLE DB提供程序
MSDAORA
用于OracleMicrosoft OLE DB提供程序
Microsoft.Jet.OLEDB.4.0
用于Microsoft JetOLE DB提供程序
OLE DB .NET Framework 数据提供程序类位于System.Data.OleDb命名空间中。如下代码示例显示如何在应用程序中包含System.Data.OleDb命名空间。
using System.Data.OleDb;
注意
不推荐将 Access (Jet) 数据库用做多线程应用程序(如 ASP.NET 应用程序)的数据源。若是必须将 Access 数据库用做 ASP.NET 应用程序的数据源,并且不能使用其余数据库(如 SQL Server MSDE ),那么请注意,链接到 Access 数据库的 ASP.NET 应用程序可能会遇到链接问题,这些问题一般与安全权限有关。

4.ADO.NETODBC的关联

DSN (数据源)是在odbc里设置的,用于链接数据库,ODBC只能用于关系型数据库。做为DSN的数据库链接可分为之前三种:
n   用户DSN:数据源对计算机来讲是本地的,而且只能被当前用户访问,因此只有创建该数据源的用户才能访问该数据源,并且不能从网络上访问该数据源。
n   系统DSN:数据源对于计算机来讲也是本地的,但并非用户专用的,任何具备权限的用户均可以访问系统DSN”,可是它仍是不能从网络上来访问。
n   文件DSN:则与前二者不一样,它们能够在全部安装了相同驱动程序的用户中共享,这些数据源对于计算机说都是本地的。也就是说能够经过网络上来访问。
    45显示了用ADO.NET测试的ODBC驱动程序。
4-5 ODBC数据提供程序所对应的数据源驱动程序表
驱动程序
SQL Server
Microsoft ODBC for Oracle
Microsoft Access 驱动程序 (*.mdb)
ODBC .NET Framework 数据提供程序类位于System.Data.Odbc命名空间中。如下代码示例显示如何在您的应用程序中包含System.Data.Odbc命名空间。
using System.Data.Odbc;

5.ADO.NETOracle的关联

ADO.NET 提供程序经过Oracle客户端链接软件启用对Oracle数据源的数据访问,该数据提供程序支持Oracle客户端软件 8.1.7 版或更高版本。
ADO.NET 为与Oracle数据库关联提供程序类位于System.Data.OracleClient命名空间中,并包含在System.Data.OracleClient.dll程序集中。在编译使用该数据提供程序的应用程序时,须要同时引用System.Data.dllSystem.Data.OracleClient.dll
如下代码示例显示如何在您的应用程序中包含System.Data.OracleClient命名空间。
using System.Data;
using System.Data.OracleClient;
相关文章
相关标签/搜索