百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

数据访问的发展历程(数据访问类中一般要实现哪几种方法)

mhr18 2024-10-11 12:48 15 浏览 0 评论

数据伴随着计算机信息技术的发展而逐渐的丰富起来,为满足科技、经济、商业各方面的需要而创建了不同的数据信息格式,技术软件的开发者往往精选最能满足需要的数据存储机制,并且从现有的厂商中选择数据库技术,或创建自己所拥有的数据格式。通常各种数据结构和格式是不兼容的。例如,公司中不同的部门采用不同的数据结构和格式,数据可能来自于oracle 、SQL Server 、Access和FoxPro等不同的数据源 。

这种情况下,要访问每一个数据源,就必须编写或安装与每一个数据源相匹配的软件。

一、API

数据访问这项工作最初是由API (应用程序编程接口)来完成的,因而它也被称为”固有的”驱动程序。当通过直接与数据源API 对话的固有驱动程序提供数据访问时,通常会出现以下几个问题:

大多数专业化的API 是用c ++编写的,并且存储在扩展名为DLL 的文件中。要执行驻存在API DLL 文件中的函数,必须使用与编写API 所用源语言相同的编程技术。

程序员必须对API 支持的程序有一定的了解,并且还要掌握其相关的具体知识。通常,这种知识相当难懂并且只与相关的产品有关。例如,某些熟悉SQL server DB API 的人员有可能不能使用这种知识访问Orade OCI 中的程序。

所以用一个数据源固有的API执行客户软件时,这个过程是复杂的、昂贵的,并且还是很消耗时间的。经验显示:大多数数据使用者没有技术能力去有效并且经济地开发相关数据源的定制访问。20世纪90年代初期就是这种状态。

二、ODBC

为解决API应用的问题,1992年微软发布了ODBC。ODBC 提供了标准的API ,可以访问各式各样的数据库。ODBC支持SQL (结构化查询语言)的使用,并把SQL 作为标准且关键的语言组件用以从各种数据源中检索数据。由干SQL 已经成为大型计算机上事实的标准,因而,ODBC 有助于把SQL 广泛应用到PC 数据库上。

ODBC 由两部分组成:

ODBC管理器:这个程序运行在所有windows操作系统的控制面板中,它包含有连接数据源时所需要的信息。ODBC 管理器为每个数据源连接创建data souoe name ,即DSN 。

ODBC 驱动程序:ODBC 驱动程序软件包含需要处理的具体数据源信息。

使用ODBC不必涉及任何具体厂商的信息就能够创建数据库应用程序,所需要的只是DSN 的名称(在ODBC 管理器中定义)和定义数据操作的SQL 声明。DSN 的名称和SQL 的声明通过DSN 传送到ODBc 驱动程序,当数据源检索到希望得到的信息时信息就会通过ODBC 返回到程序中。

ODBC 要求为具体的数据源安装相应的驱动程序。例如,要连接SQL server ,就需要为SQL server安装相应的ODBC 驱动程序。但是,一旦安装ODBC 驱动程序后,就只能用同一种编程方法对源数据库执行数据库操作。自1992 年ODBC 开始应用以来,它已经取得了非常大的成功。如今,通过ODBC 驱动程序.可以访问几乎所有重要的数据库格式。

但是,ODBC 传统上的语法是与C 语言编程紧密相联的。这种情况下,要处理单个数据查询就必须以适当的次序执行一系列的API 函数。但是,使用oDBC 进行程序设计时,往往还是感到困难和复杂因而ODBC 不能满足决速开发应用程序的需要。

三、DAO数据库对象技术

为ODBC 数据创建一个易用的接口,其中一个方案就是采用对象技术。微软在这个领域最初的成果是所谓的Data Access object ( DAO )。它是用来补充Jet Database Engine 的,而Jet Datase Engine 是包含在Access 中的。Jet Engine 的目的是为Access MDB 文件提供支持,以便把MDB 文件作为Access 和Visual Basic 的一个标准数据格式。除了对Access MDB 文件提供支持外,Jet 还可以连接到ODBC 数据源。从编程的角度来看,对日益复杂的模型最重要的就是不管数据源是什么,处理查询的指令应该是相同的。DAO与Jet的结合为数据访间提供了一种标准的方法,这种方法可以避免复杂的API 程序设计,并且仍旧可以保持与厂商的独立性。

虽然理论上DAO 与Jet的结合为开发与数据相关的应用程序提供了一种易用且易于理解的程序设计结构,但它的性能是参差不齐的。如果把Access MDB 文件作为数据源,Jet软运行良好。但是,对其他ODBC数据源的访问,如SQL Server 或oracle等,就非常难受了。原因是ODBC 要通过Jet Engine 移动数据,而Jet Engine 最初并不是专门为Sql Server或oracle客户/服务器数据库设计的。

微软虽然对DAO 系统的各个部分进行升级,以便增强客户/服务器数据库的操作。这就是RDO ( Remote Data Object) 是另一项对象技术,它面向SQL server 之类的数据库服务。但是它是通过DAO 中所谓的ODBC Direct 选项,可以把RDO 与DAO 程序设计模型连接起来。使用ODBC Direct使程序可以避开Jet Engine。所以在使用DAO 时必须要记住:对MDB 文件的访问用一种方法,而在DAO 中与SQL Server 连接时要采用另外一套不同的方法。这与最初的目的,即用一种简单并且直观的方法编写面向数据的应用程序相去甚远。

四、ADO的出现

由于Intenet飞速增长需要能够给基于Web 的应用程序提供数据的数据访问接口。以及对网络服务,如在线分析进程服务、电子邮件服务以及目录服务等非关系型数据源访问的需要,这些信息并不是以传统的关系型数据库结构存储的。如果应用程序要利用这些数据源,就必须突破DAO只能处理关系型数据的限制。

上述列出的所有问题都可通过ADO ( ActiveX Data object )来解决。ADO 对象库提供了一种单一并且统一的程序设计工具,这种工具既可访问传统关系型数据库中的数据,也可访问存储在非关系系统中的数据。

对于 ADO来说,理想的环境是每个数据源都具有一个 OLEDB 接口,这样 ADO 便可以直接调用到数据源中。虽然越来越多的数据库厂商实现了 OLEDB 接口,但某些数据源仍无法以这种方式提供。可是,目前所用的所有数据库系统实际上都可以通过 ODBC 进行访问。

ODBC 驱动程序对于目前所使用的各种主要数据库管理系统都有效,包括 Microsoft SQL Server、Microsoft Access(Microsoft Jet 数据库引擎)和 Microsoft FoxPro 以及 oracle 等非 Microsoft 数据库产品。但是,Microsoft ODBC Provider 允许 ADO 连接到任何 ODBC 数据源。

为了实现与以前技术的兼容,ADO 同时支持Jet 数据库引擎和ODBC 数据库。所以在Access连接使用SQL Server 时,既可以通过ADO 直接与SQL Server 相连接,也可以间接地用ADO 与ODBC 相连接。

由于ADO提供了一种单一的与连接数据源的方法,因而大大简化了程序设计接口,同时ADO也提高了连接数据源的速度。

在ODBC中,特殊的软件-ODBC驱动程序负责反应用程序与具体的数据源连接起来。ADO技术也需要厂商特定的驱动程序,ADO的驱动程序是在一个新标准下构造的,就是对象链接与嵌入数据OLEDB(Obiect Linking and Embedding Database)。OLEDB与ADO结合成为一个万能的数据访问系统。

ADO 之所以具有强大的功能和灵活性,是因为它可以连接几种不同的数据提供者,同时仍使用同一个编程模型,而不考虑给定提供者的特定功能。但是,因为每个数据提供者都有各自的特性,所以应用程序与 ADO 的相互作用方式将根据数据提供者的不同而稍有变化。

OLEDB提供者与服务:

OLEDB提供者分为两类:提供数据的提供者和提供服务的提供者。

“数据提供者”拥有自己的数据,并将数据以表格格式显露给应用程序。

“服务提供者”通过产生和消费数据来封装服务,以增加 ADO 应用程序中的功能。也可以将服务提供者进一步定义为“服务组件”,服务组件必须与其他服务提供者或组件结合使用。

提供者是给使用者提供数据的。ADO允许提供者提供的数据,可以是基于文件的,也可以是基于服务的。

基于文件的提供者允许访问本地驱动器或网络上的特定文件中的数据,但必须知道数据源文件准确的物理位置,例如:D:\TEST\TEST.MDB或\\COMPUTER\TEST\TEST.MDB

基于服务的提供者在网络上是作为服务运行的,在访问网络服务的时候,并不需要知道特定文件的物理位置,只需使用一个标识服务的网络名称就可以了,当试图与服务连接时,网络会使用各种协议去查找正在运行的被命名服务的计算机。基于服务提供者可以避免驱动器和路径所造成的混乱。

OLEDB是一个系统级的软件,OLEDB的目的就是为统一数据格式要求具体厂商的详细资料提供一个框架。在这个框架中,具体厂商的部分称为”提供者”(provide)。OLEDB提供者所起的作用与ODBC驱动程序相似。也就是说提供者是给使用者提供数据的。OLEDB所能处理的不仅仅是ODBC直接支持的数据库,还提供数据库服务。

ADO是应用级的软件,在开发使用数据库资源的应用程序时,可以用ADO与数据源进行通信,使用OLEDB数据资源的软件称为使用者。

ADO可以直接访问数据资源,也可以用OLEDB服务间接访问数据源。

由于ADO很大的灵活性,Access可以利用ADO实现与Sql Server的链接,这样可根据用户对数据的需要,Access能够查询本地的Access表和Sql Server的表。

相关推荐

SpringBoot 各种分页查询方式详解(全网最全)

一、分页查询基础概念与原理1.1什么是分页查询分页查询是指将大量数据分割成多个小块(页)进行展示的技术,它是现代Web应用中必不可少的功能。想象一下你去图书馆找书,如果所有书都堆在一张桌子上,你很难...

《战场兄弟》全事件攻略 一般事件合同事件红装及隐藏职业攻略

《战场兄弟》全事件攻略,一般事件合同事件红装及隐藏职业攻略。《战场兄弟》事件奖励,事件条件。《战场兄弟》是OverhypeStudios制作发行的一款由xcom和桌游为灵感来源,以中世纪、低魔奇幻为...

LoadRunner(loadrunner录制不到脚本)

一、核心组件与工作流程LoadRunner性能测试工具-并发测试-正版软件下载-使用教程-价格-官方代理商的架构围绕三大核心组件构建,形成完整测试闭环:VirtualUserGenerator(...

Redis数据类型介绍(redis 数据类型)

介绍Redis支持五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)及Zset(sortedset:有序集合)。1、字符串类型概述1.1、数据类型Redis支持...

RMAN备份监控及优化总结(rman备份原理)

今天主要介绍一下如何对RMAN备份监控及优化,这里就不讲rman备份的一些原理了,仅供参考。一、监控RMAN备份1、确定备份源与备份设备的最大速度从磁盘读的速度和磁带写的带度、备份的速度不可能超出这两...

备份软件调用rman接口备份报错RMAN-06820 ORA-17629 ORA-17627

一、报错描述:备份归档报错无法连接主库进行归档,监听问题12541RMAN-06820:WARNING:failedtoarchivecurrentlogatprimarydatab...

增量备份修复物理备库gap(增量备份恢复数据库步骤)

适用场景:主备不同步,主库归档日志已删除且无备份.解决方案:主库增量备份修复dg备库中的gap.具体步骤:1、停止同步>alterdatabaserecovermanagedstand...

一分钟看懂,如何白嫖sql工具(白嫖数据库)

如何白嫖sql工具?1分钟看懂。今天分享一个免费的sql工具,毕竟现在比较火的NavicatDbeaverDatagrip都需要付费才能使用完整功能。幸亏今天有了这款SQLynx,它不仅支持国内外...

「开源资讯」数据管理与可视化分析平台,DataGear 1.6.1 发布

前言数据齿轮(DataGear)是一款数据库管理系统,使用Java语言开发,采用浏览器/服务器架构,以数据管理为核心功能,支持多种数据库。它的数据模型并不是原始的数据库表,而是融合了数据库表及表间关系...

您还在手工打造增删改查代码么,该神器带你脱离苦海

作为Java开发程序,日常开发中,都会使用Spring框架,完成日常的功能开发;在相关业务系统中,难免存在各种增删改查的接口需求开发。通常来说,实现增删改查有如下几个方式:纯手工打造,编写各种Cont...

Linux基础知识(linux基础知识点及答案)

系统目录结构/bin:命令和应用程序。/boot:这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。/dev:dev是Device(设备)的缩写,该目录...

PL/SQL 杂谈(二)(pl/sql developer使用)

承接(一)部分。我们从结构和功能这两个方面展示PL/SQL的关键要素。可以看看PL/SQL的优雅的代码。写出一个好的代码,就和文科生写出一篇优秀的作文一样,那么赏心悦目。1、与SQL的集成PL/S...

电商ERP系统哪个好用?(电商erp哪个好一点)

电商ERP系统哪个好用?做电商的,谁还没被ERP折腾过?有老板说:“我们早就上了ERP,订单、库存、财务全搞定,系统用得飞起。”也有运营吐槽:“系统是上了,可库存老不准,订单漏单错单天天有,财务对账还...

汽车检测线系统实例,看集中控制与PLC分布控制

PLC可编程控制器,上个世纪70年代初,为取代早期继电器控制线路,开始采取存储指令方式,完成顺序控制而设计的。开始仅有逻辑运算、计时、计数等简单功能。随着微处理的发展,PLC可编程能力日益提高,已经能...

苹果五件套成公司年会奖品主角,几大小技巧教你玩转苹果新品

钱江晚报·小时新闻记者张云山随着春节的临近,各家大公司的年会又将陆续上演。上周,各大游戏公司的年会大奖,苹果五件套又成了标配。在上海的游戏公司中,莉莉丝奖品列表拉得相当长,从特等奖到九等奖还包含了特...

取消回复欢迎 发表评论: