数据库访问技术介绍.ppt
《数据库访问技术介绍.ppt》由会员分享,可在线阅读,更多相关《数据库访问技术介绍.ppt(39页珍藏版)》请在三一办公上搜索。
1、2023/9/11,第8章数据库访问技术介绍,本章要点,ODBC工作原理及使用方法ADO模型的层次结构使用ADO技术访问数据库的方法ADO.Net的体系结构的组成及工作原理,2023/9/11,6.1 ODBC的使用,6.1.1 ODBC概述 ODBC(Open Database Connectivity,开放数据库互连)是一个数据库编程接口,它是微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。OD
2、BC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。应用程序可以通过调用ODBC的接口函数访问不同类型的数据库,一个基于ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。,2023/9/11,也就是说,不论是FoxPro、Access还是Oracle数据库,均可用ODBC API进行访问。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。一个完整的ODBC由下列几个部件组成:应用程序(Application)。ODBC管理器(Administrator):该程序主要任务是管理安装
3、的ODBC驱动程序和管理数据源。驱动程序管理器(Driver Manager):驱动程序管理器包含在ODBC32.DLL中,对用户是透明的。其任务是管理ODBC驱动程序,是ODBC中最重要的部件。ODBC API。ODBC 驱动程序:是一些DLL,提供了ODBC和数据库之间的接口。数据源:数据源包含了数据库位置和数据库类型等信息,实际上是一种数据连接的抽象。,2023/9/11,各部件之间的关系如图6-1所示。,图6-1 ODBC部件关系图,2023/9/11,应用程序要访问一个数据库,首先必须用ODBC管理器注册一个数据源,管理器根据数据源提供的数据库位置、数据库类型及ODBC驱动程序等信息
4、,建立起ODBC与具体数据库的联系。这样,只要应用程序将数据源名提供给ODBC,ODBC就能建立起与相应数据库的连接。6.1.2 ODBC数据源的配置 ODBC数据库驱动程序使用Data Source Name(DSN)定位和标识数据库,DSN 包含数据库配置、用户安全性和定位信息,且可以获取 Windows NT 注册表项中或文本文件的表格。通过 ODBC,可以创建三种类型的 DSN:用户DSN、系统DSN或文件DSN。,2023/9/11,下面介绍一下这几个名词。DSN:根据MICROSOFT的官方文档,DSN的意思是“应用程序用以请求一个连到ODBC数据源的连接(CONNECTION)的
5、名字”,换句话说,它是一个代表ODBC连接的符号。它隐藏了诸如数据库文件名、所在目录、数据库驱动程序、用户ID、密码等细节。因此,当建立一个连接时,你不用去考虑数据库文件名、它在哪儿等等,只要给出它在ODBC中的DSN即可。用户DSN:是为特定用户建立的DSN,只有建立这个DSN的用户才能看到并使用它。系统DSN:这种DSN可以被任何登录到系统中的用户使用。上面的两种情况,DSN的细节都储存在系统的注册表中。文件 DSN:这种 DSN用于从文本文件中获取表格,提供了对多用户的访问。,2023/9/11,6.2 ADO的使用,6.2.1 ADO技术概述6.2.1.1 ADO概述 ADO是微软的一
6、项技术,是ActiveX Data Objects 的缩写。它是微软的Active-X组件,结合了OLE DB易于使用的特性以及在诸如Remote Data Objects(RDO)和Data Access Objects(DAO)的模型中容易找到的通用特性。ADO的思想就在于为不同的应用程序访问相同的数据源创建一个更高层的公用层。尽管存在数据结构和组织间的物理位置的不同,编程的接口应该是一样的。ADO 2.0还具有了新的特性:包括事件处理,记录集的延续,分层目录结构指针和数据成形,分布式事务处理,多维数据,远程数据服务(RDS),以及对C+和Java的支持的增强,并且在Visual Stud
7、io 6.0中的任何开发工具中都得到了支持。,2023/9/11,6.2.1.2 用ADO实现访问数据库 ADO主要包括以下七个对象:Connection:连接对象,建立一个与数据源的连接,应用程序通过连接对象访问数据源,连接是交换数据所必需的环境。Command:命令对象,定义对数据源进行操作的命令,以执行相应的动作,通过以建立的连接,该对象可以以某种方式来操作数据源,一般情况下,该命令对象可以在数据源中添加、删除或更改数据,也可以检索数据,还可完成较复杂的查询功能。Recordset:记录集对象,用于表示来自数据库或命令执行结果集的对象,并可通过该对象控制对数据源数据的增、删、改。Erro
8、r:错误对象,用来描述数据访问错误的细节。Field:字段(域)对象,用来表示Recordset对象的字段。,2023/9/11,Parameter:参数对象,表示Command对象的命令参数,参数可以在命令执行之前进行更改。Property:属性对象,用来描述对象的属性,每个ADO对象都有一组惟一的属性来描述或控制对象的行为。属性有两种类型:内置的和动态的。内置属性是ADO对象的一部分并且随时可用,动态属性由数据源提供者添加到ADO对象的属性集合中,仅在该提供者被使用时才能存在。使用ADO访问数据库的基本步骤通常都是以下五步:创建数据库源名;创建数据库链接;创建数据对象;操作数据库;关闭数据
9、对象和连接。,2023/9/11,以下示例采用的均是ASP文件中VBSCRIPT脚本语言编写的代码:(1)创建数据库源名称,即创建和配置ODBC数据源,该步骤在上一节已详细讲述。(2)创建数据库连接 语法如下:Set Conn=Server.CreateObject(ADODB.CONNECTION)这条语句创建了数据库连接对象Conn。创建数据库连接之后,必须打开该连接才能访问数据库,打开连接使用下面的语句:Conn.Open dsn_name,username,password 其中“dsn_name”为数据源名称。Username和password为访问数据库的用户名和密码,均为可选参数
10、。,2023/9/11,例如假设已经定义了一个访问Access数据库系统DSN,数据源名称为acce_dsn,访问数据库的代码如下:Set Conn=Server.CreateObject(ADODB.CONNECTION)Conn.Open acce_dsn 如果数据源acce_dsnl是访问SQL Server数据库的,并且用户名和密码分别为sa和123456,那么访问数据库代码应为:Set Conn=Server CreateObject(ADODB.CONNECTION)Conn.Open acce_dsnl,sa,123456 在ADO中还可以不通过ODBC而直接与Access数据相
11、连,这种方法在个人主页中大量使用(因为其用户无法进行服务器ODBC设置操作),我们这里只简单提一下方法:Connection.Open provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:test.mdb,2023/9/11,(3)创建数据对象RecordSet保存的是数据库命令结果集,并标有一个当前记录。以下是创建方法:Set RecordSet=Conn.Execute(sqlStr)这条语句创建并打开了对象RecordSet,其中Conn是先前创建的连接对象,SqlStr是一个字符串,代表一条标准的SQL语句,例如:SqlStr=SELECT*F
12、ROM authors Set RecordSet=Conn.Execute(SqlStr)这条语句执行后,对象RecordSet中就保存了表authors中的所有记录。(4)操作数据库 Execute方法的参数是一个标准的SQL语句串,所以我们可以利用它方便地执行数据插入、修改、删除等操作,例如:,2023/9/11,SqlStr=DELETE FROM authors Conn.Execute(SqlStr)/执行删除操作 SqlStr=UPDATE authors SET salary=3 WHERE id=FZ0001 Conn.Execute(SqlStr)/执行修改操作(5)关闭数
13、据对象和连接 在使用ADO对象对数据库的操作之完成之后,一定要关闭它,因为它使用了服务器的资源,如果不释放将导致服务器资源浪费并影响服务器性能。通过调用方法close实现关闭以释放资源,例如:Conn.Close 使用ADO技术访问数据库实例:一个用户身份验证程序,参见P183。,2023/9/11,6.3 ADO.NET简介,6.3.1 ADO.NET技术的设计目标 ADO.NET是由微软ActiveX Data Object(ADO)升级发展而来的,它是微软公司下一代数据访问标准。在创建 ADO.NET 时具有以下设计目标:(1)利用当前的 ADO 知识(2)支持 N 层编程模型(3)集成
14、 XML 支持6.3.2 ADO.NET的体系结构 ADO.NET是由一系列的数据库相关类和接口组成的,它的基石是XML技术,所以通过ADO.Net不仅能访问关系型数据库中的数据,而且还能访问层次化的XML数据。,2023/9/11,ADO.NET提供了两种数据访问的模式:一种为连接模式(Connected),另一种为非连接模式(Disconnected)。ADO.NET中的DataSet类是非连接模式的核心,数据集对象(DataSet)以XML的形式存放数据。在ADO.NET体系结构中还有一个非常重要的部分就是数据提供者对象(Data Provider),它是访问数据库的必备条件。通过它,可
15、以产生相应的数据集对象;同时它还提供了连接模式下的数据库访问支持。6.3.2.1 ADO.NET组件的总体结构 设计 ADO.NET 组件的目的是为了从数据操作中分解出数据访问。ADO.NET 的两个核心组件会完成此任务:DataSet 和.NET Framework 数据提供程序,后者是一组包括 Connection、Command、DataReader 和 DataAdapter 对象在内的组件。,2023/9/11,ADO.NET DataSet 是 ADO.NET 的断开式结构的核心组件。它可以用于多种不同的数据源,用于 XML 数据,或用于管理应用程序本地的数据。DataSet 包含
16、一个或多个 DataTable 对象的集合,这些对象由数据行和数据列以及主键、外键、约束和有关 DataTable 对象中数据的关系信息组成。ADO.NET 结构的另一个核心元素是.NET Framework 数据提供程序,其组件的设计目的相当明确:为了实现数据操作和对数据的快速、只进、只读访问。Connection 对象提供与数据源的连接。Command 对象使您能够访问用于返回数据、修改数据、运行存储过程以及发送或检索参数信息的数据库命令。DataReader 从数据源中提供高性能的数据流。最后,DataAdapter 提供连接 DataSet 对象和数据源的桥梁。DataAdapter
17、使用 Command 对象在数据源中执行 SQL 命令,以便将数据加载到 DataSet 中,并使对 Data Set 中数据的更改与数据源保持一致。,2023/9/11,图6-8 ADO.NET组件,.NET Framework 提供了四个.NET Framework 数据提供程序:SQL Server.NET Framework 数据提供程序、OLE DB.NET Framework 数据提供程序、ODBC.NET Framework 数据提供程序和 Oracle.NET Framework 数据提供程序。如图6-8所示:,2023/9/11,图6-9显示了ADO.Net总体的体系结构:,
18、图6-9 ADO.NET的体系结构,2023/9/11,图6-10显示了 ADO.NET 应用程序的基本结构:,图6-10 ADO.NET应用程序基本结构示意图,2023/9/11,图6-11显示了使用ADO.NET组件访问数据库的组织结构:,图6-11 ADO.NET组件访问数据库结构示意图,2023/9/11,6.3.2.2 ADO.NET DataSet结构 DataSet 对象是支持 ADO.NET 的断开式、分布式数据方案的核心对象。DataSet 是数据的内存驻留表示形式,无论数据源是什么,它都会提供一致的关系编程模型。它可以用于多个不同的数据源,用于 XML 数据,或用于管理应用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 访问 技术 介绍
链接地址:https://www.31ppt.com/p-5985850.html