博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
4-1 ADO.NET简介 4
阅读量:6557 次
发布时间:2019-06-24

本文共 4489 字,大约阅读时间需要 14 分钟。

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对象。表4-1概括了组成 .NET Framework 数据提供程序的四个核心对象。
表4-1 .NET数据提供程序的四个核心对象表
对象
说明
Connection
建立与特定数据源的连接。所有Connection对象的基类均为DbConnection类。
Command
对数据源执行命令。公开Parameters,并且可以通过Connection在Transaction的范围内执行。所有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数据提供程序的命名空间有四类,前面提到的这些对象在每类数据提供程序的命名空间里都有一套,并且某个对象在不同的命名空间内名称是不同的。四类命名空间分别是:SQLClient、OLEDB、Oracle、ODBC,其对应的数据提供程序如表4-3所示:
表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 Server的OLE DB提供程序(SQLOLEDB)与OLE DB .NET Framework数据提供程序一起使用。对于SQL Server 6.5版和较早版本,必须将用于SQL Server的OLE 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命名空间包含的对象有:、、、等,OLEDB命名空间包含的对象有:、、、等。

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;
本文转自 qianshao 51CTO博客,原文链接:http://blog.51cto.com/qianshao/214524,如需转载请自行联系原作者
你可能感兴趣的文章
mysql字符串截取
查看>>
ASP.NET MVC3 通过Url传多个参数方法
查看>>
遭遇sql server 2005 启动包未能正确加载需要重新安装错误,重装.NET FRAMEWORK经历分析...
查看>>
《Essential C++》读书笔记 之 基于对象编程风格
查看>>
Sublime Text2 常用快捷键
查看>>
ASP.NET MVC上传文件----uploadify的使用
查看>>
VirtualBox创建虚拟电脑、执行Genymotion模拟器报错
查看>>
新生儿操作系统操作手册
查看>>
linux下如何安装charles
查看>>
正在载入数据中效果
查看>>
Js模型和封装
查看>>
第二章 Java浮点数精确计算
查看>>
apiCloud实现加载更多效果,基本完美~
查看>>
Redis基准
查看>>
如何使用openssl生成RSA公钥和私钥对
查看>>
当我们安装使用时,会出现eclipse启动不了,出现“Java was started but returned exit code=13......”的问题...
查看>>
2016-2017 ACM-ICPC Southwestern European Regional Programming Contest (SWERC 2016)
查看>>
简明 MongoDB 入门教程
查看>>
.NET Core 3.0中的数据库驱动框架System.Data
查看>>
北大AI公开课2019 | 雷鸣:人工智能革命与机遇
查看>>