VB访问数据库的方案比较

2016-02-19 16:52 3 1 收藏

今天图老师小编给大家介绍下VB访问数据库的方案比较,平时喜欢VB访问数据库的方案比较的朋友赶紧收藏起来吧!记得点赞哦~

【 tulaoshi.com - 编程语言 】

  用Visual Basic访问数据库有许多可供选择的方案,但是选择那种方案更能使开发队伍和应用软件在今天处于有利位置并且适应将来的发展方向呢?这些解决方案各有什么特点?本文将说明这些问题,帮助使用VB5的用户和准备使用VB5的用户选择和决定哪种数据库访问方案对现在很有意义而且适应将来的应用程序。

  当今,RDO2.0是Visual Basic访问关系型ODBC数据源的最佳界面接口,就如DAO/Jet是Jet和ISAM(顺序索引查找方法)类型数据源首选的访问接口一样。这两种方法都完整的集成于Visual Basic中,并且形成了Visual Basic核心的数据访问策略。RDO2.0的数据访问速度远快于RDO1.0的访问速度,并且RDO和DAO都已发展为相当成熟的技术。因此假如用户需要访问ODBC数据源,可以使用RDO;如果需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet。

  Active Data Objects(ADO)作为另一种可供选择的技术出现,正在逐渐代替其他数据访问接口。由于RDO同ADO的体系结构非常相似,因此当需要将RDO数据接口转换为ADO时,仍可以使用RDO设计的代码。

  有人曾提出这样的问题:是否现在就使用ADO?虽然VB5使用ADO的数据访问接口是可能的,但对于目前ADO的使用状况,将RDO2.0或DAO3.5同ADO做比较显得意义并不很大。所以回答是:如果感觉方便,还是尽早转移到ADO,这意味着应用软件对各种数据访问接口将继续予以支持。ADO是独立于开发工具和开发语言的简单而且容易使用的数据接口,同ADO相比,其他数据访问接口都会黯然逊色。

  所有的数据源都可以通过ADO来访问,在今天已逐渐成为现实。

  VB访问数据库技术的历史综观过去的几年,使用Visual Basic的客户曾设计出数不胜数的程序和组件来建立商务解决方案。大约80%以上的应用程序是用来访问以下这些数据的:ASCII文本文件、SQL数据库以及大型机数据库。早期的Visual Basic数据访问工具只是简单的ASCII文件的访问工具,极少数SQL Server的前端应用程序是使用鲜为人知的数据接口VBSQL编写的。然而,在Visual Basic 3.0时代许多用户强调需转移访问包含远程数据源的ISAM数据,为此Microsoft设计了Microsoft Jet Database Engine(或简称为Jet)和Data Access Object(DAO),使得Visual Basic Access开发人员很容易地同Jet接口。直至前两年,对Visual Basic和其使用者的需求又包含了更快的访问远程数据和对ODBC数据源访问的优化。

  当选择在此讨论的哪种技术是最佳技术时? 要注意两点:代码的重用和开发者实现选择的数据库访问方案的能力。设计者常常为实现或追求一种更特别的性能而使用有更多控件的奇异方案,这样设计出来的应用程序只会支持起来更复杂或维护时更困难。开发人员和他们的管理人员需要在Visual Basic的开发小组和各种数据库接口开发小组中注意避免这种趋势。这些小组协调努力简化VB5中的数据访问接口会使程序的安全性和速度更好。VB5也包含了全新的查询连接生成器,即User Connection设计器,它使用Visual Basic新的ActiveX设计器体系结构,对要编程的数据访问提供设计时的支持。允许在设计时创建连接并查询对象(基于RDO rdoConnection和rdoQuery对象)。并把这些连接和查询对象当作工程级对象。可预先设置属性、定义新属性和方法并给对象编写代码来捕捉事件。

  这不仅为响应由连接和查询而引起的事件,而且为在运行时调用已有存储过程和用户定义的查询提供了简单的方法。使用User Connection设计器这种技术,代码可减少10倍,性能却没有任何损失。

  现在用VB5来建服务器端组件或前端应用程序,可以使用的数据库接口方案至少有九种。每一种方案都可满足用户特定的需要,比如特殊的数据源和用户开发的技能等。

  Visual Basic访问数据库的现状下面的表格列出了目前在VB5中有效的数据访问接口方法,一部分是简单的应用程序接口界面(APIs),但大部分是组件对象模型界面(COM)。这两类数据库接口界面事实上在任何一种开发语言中都包括。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  接 口 界 面访 问 对 象16/32 ?支 持VBSQL通 过DB-Library 访 问 微 软 的SQL Server16 位 和32 位ODBC API任 何 一 种ODBC 数 据 源16 位 和32 位DAO/Jet本 地 的Jet/Access .MDB、 顺 序 索 引 数 据 库(ISAM) 和 任 何ODBC 数 据 源。16 位 和32 位DAO/ODBC Direct任 何 一 种ODBC 数 据 源( 经 过RDO)32 位RDO 2.0任 何 一 种ODBC 数 据 源(Level Ⅰ 或 Ⅱ)32 位ADO *任 何 一 种ODBC 数 据 源 和 任 何 经 过OLE DB 界 面 接 口 的 数 据 源32 位

  *ADO不包括在VB5中,目前的许多网络产品支持ADO如:IIS、Visual Studio等,也会发行在VB的下一版本VB6中。

  上表列出了用VB5程序代码访问数据库的几种接口界面,但是许多开发人员也使用一些数据库绑定的控件来实现一些简单重复的功能如:用户数据的输入、显示、筛选等接口界面。VB也支持对多种数据源访问的控件,这些控件在VB和COM界面接口之间起着媒介作用。这些控件提供了一种减少代码实现数据访问的途径,该方法简化了代码并使程序员不必亲自处理检索和更新数据的底层结构和机制。它赋予程序员很大的灵活性,因为可以使用同样的对象、属性和方法来处理各种不同的数据库格式。同时,如果从一种数据库格式变到另一种格式(例如,将本地的Microsoft Access数据库转换为网络上的SQL Server数据库),只需变动少量的代码就可以适应这种改变。甚至可以创建这样的应用程序,在单一的查询或报表中连接来自多个不同数据库的表。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

  数 据 绑 定 控 件访 问 对 象16/32 位 支 持Data ControlDAO/Jet 数 据 界 面 接 口16 位 和32 位Data Control/ODBC DirectDAO/ODBC Direct 数 据 界 面 接 口32 位RemoteData Control/RDCRDO 数 据 界 面 接 口32 位Advanced Data Connector/ADC *ADO 数 据 界 面 接 口32 位

  *ADO不包括在VB5中,目前的许多网络产品支持ADO如:IIS、Visual Studio等,也会发行在VB的下一版本VB6中。

  经过数年发展,ODBC技术日臻完善已成为访问远程数据的主要方法,而Jet成为本地Jet和ISAM数据接口的首选方案。虽然这些方法在不同程度上有功能交迭的地方,在论证选用数据库访问的方法时,主要还应满足用户在特殊应用程序中对具体数据接口的访问。并不是所有人对数据访问中的一些缩写词都了解。下表从VB的观点简要介绍这些缩写词的含义和各种数据访问方法的功能比较。

  数据访问接口功 能 及 含 义ADC高级数据连接器(Advanced Data Connector):提供绑定ADO数据源到窗体的数据绑定控件上。ADC主要是一种直接访问或者通过ADO访问远程OLE DB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。它是特地为Web上的浏览器为基础的应用程序而设计的。ADOActive数据对象(Active Data Objects):ADO实际是一种提供访问各种数据类型的连接机制。ADO设计为一种极简单的格式,通过ODBC的方法同数据库接口。可以使用任何一种ODBC数据源,即不止适合于SQL Server、Oracle、Access等数据库应用程序,也适合于Excel表格、文本文件、图形文件和无格式的数据文件。ADO是基于OLE-DB之上的技术,因此ADO通过其内部的属性和方法提供统一的数据访问接口方法。DAO数据访问对象(Data Access Objects):是一种面向对象的界面接口。通过DAO/Jet功能可以访问ISAM数据库,使用DAO/ ODBC Direct功能可以实现远程RDO功能。使用DAO的程序编码非常简单,DAO提供丰富的游标(Cursor)类型的结果集和非游标(Cursor-Less)类型的结果集,同DDL(数据描述语言)的功能很类似。   DAO模型是设计关系数据库系统结构的对象类的集合。它们提供了完成管理这样一个系统所需的全部操作的属性和方法,包括创建数据库,定义表、字段和索引,建立表间的关系,定位和查询数据库等工具。   Jet数据连接性引擎技术(Joint Engine Technology):是一种基于工作站通过DAO的数据库访问机制。虽然可以通过微软Access提供的ODBC驱动程序访问Jet数据库,但使用这些驱动程序在功能上有所限制。Jet机制有自己的查询和结果集处理功能,并可对同种或异种数据源作查询处理。   ODBC开放式的数据库连接(Open Database Connectivity):是一种公认的关系数据源的接口界面。它快而轻并且提供统一接口的界面,ODBC对任何数据源都未作优化。ODBC Direct是一种基于DAO对象的新的DAO模式,其方法和属性与RDO功能相同。使用在有DAO代码存在的场合,可用来访问远程数据源。OLE DB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。OLE DB不能被VB直接调用。   RDC远程数据访问控件(RemoteData Control):是一种对RDO数据绑定的控件。可以输出特定的结果集到数据源控件。RDO远程数据对象(Remote Data Objects):远程数据对象和集合为使用代码来创建和操作一个远程ODBC数据库系统的各个部件提供了一个框架。对象和集合都具有描述数据库的各个部件特征的属性以及用来操作这些部件的方法。可以在对象和集合之间建立起关系,这些关系就代表了数据库系统的逻辑结构。RDO是ODBC API的一个浅层界面接口。是专为访问远程ODBC关系数据源而设计的。VBSQL是Visual Basic结构化查询语言。是一种基于API的接口方法,几乎与C的DB-Library API相同。VBSQL只支持微软的SQL Server。VBSQL快而且轻但不支持对象界面。   

  Visual Basic访问数据库的前景近来随着Web应用软件的迅速发展和现有数据存储形式的多种多样,Visual Basic访问数据库的解决方案面临诸如快速提取分布于企业内部和外部有用商业信息等的多种挑战。为此Microsoft提出一种新的数据库访问策略,即统一数据访问(Universal Data Access)的策略。统一数据访问提供了高性能的存取包括关系型和非关系型在内的多种数据源,提供独立于开发工具和开发语言的简单的编程接口,这些技术使得企业集成多种数据源、选择更好的开发工具、应用软件、操作平台、建立容易维护的解决方案成为可能。

  统一数据访问(Universal Data Access)的基础是Microsoft的数据访问组件。这些组件包括ActiveX Data Objects(ADO)、Remote Data Service(RDS,也称高级数据连接器或ADC)、OLE DB和ODBC。

来源:http://www.tulaoshi.com/n/20160219/1613379.html

延伸阅读
访问其它MicrosoftJet数据库(.mdb)中的数据,包括用M1crosoftJet的老版本建的各种数据库。 1.链接外部MicrosoftJet表 为了在本地MicrosoftJet数据库中链接外部MicrosoftJet表,可以先用OpenDatabase方法打开本地MicrosoftJet数据库,建立一个TableDef对象,并设置该对象的Connect和SourceTableName属性,以分别指定希望链接的外部Microso...
MicrosoftJetXbaseIISAM驱动程序支持下列版本的MicrosoftFoxPro:2.0,2.5,2.6,3.0和DBC。当通过MicrosoftJet数据库引擎访问FoxPro数据库时,还应当考虑MicrosoftJet如何处理FoxPro数据类型、已删除的记录、FoxPro索引和备注字段。为了在MicrosoftJet中访问FoxPro数据库,应指定适当的连接信息,包括: (1)源数据库类型:可以是下列中的一个:...
从前面的介绍可以看出,可以为各种类型的数据库管理系统编写VisualBasic前端。事实上,使用ODBC驱 动程序,可以建立与几乎任何数据库管理系统连接的应用程序。这一节中,将介绍可以与VisualBasic数据库应用程序一起使用的几种数据库管理系统。 普通的关系数据库管理系统 普通的关系数据库管理系统(RDBMS)一般是指传统的桌面RDB...
标签: vb
作为微软旗下一款优秀的RAD工具,VB在数据库应用开发方面的能力十分强大。微软设计了多种数据库访问方法,下面通过对VB访问数据库的多种技术进行深入剖析,并总结出实际开发中的几点经验。希望能够对那VB的初学者有所帮助。(注意,文中所有的描述均在Windows 2000 professional和Visual Basic 6.0的环境下进行的) 一. DAO、RDO、...
摘要: 随着应用领域的不断拓展和多媒体技术,人们发现关系数据库的许多限制和不足,因而数据库技术进入了"后关系数据库时代"。文档数据库由此应运而生。本文概要地从数据格式、数据库结构和WEB发布数据三个方面比较了文档数据库与关系数据库的异同,同时区别了文档数据库与过去存储数据的文件系统的不同。 关键词:数据库Internet文档数据库...

经验教程

194

收藏

86
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部