比较ADO与ODBC的区别

2016-01-29 19:47 88 1 收藏

比较ADO与ODBC的区别,比较ADO与ODBC的区别

【 tulaoshi.com - ASP 】

  有很多种使用数据库的方法,对大多数数据库来说,选择C++这种产品也许并不适宜。我们知道,像dBASE IV,FoxPro,Oracle和Access这样的产品是完全以数据库管理为中心的。事实上,这些产品非常善于创建数据库管理器,以至于它们确实并不善于做太多其它的工作。即使要用更通用化而非更专用化的数据库产品来执行一些类型的工作,在使程序设计更容易这一方面,像VisualBasic和Delphi这样的RAD环境也要比Visual C++强很多。

  你是不是对我的说法感到很奇怪?下面我就要谈一谈,在谈到使用数据库管理系统(DBMS)这个话题时,用Visual C++实际上可以做些什么。虽然上述其它语言使得编写成熟的包括用户界面和高速搜索能力的DBMS就像孩子做游戏一样容易,但是,它们缺少Visual C++可以提供的某些重要东西。你不能为使用Access的数据库轻松地编写出实用程序。正像实用程序的定义所说的,实用程序应该很小并且具备可移植性——Access应用程序却不是这样。即使用Access这样的产品创建的程序可以很小并且可以移植,你仍有其它方面的需求:底层的功能。

  注:编写数据库实用程序及驱动程序时,可以选择Visual C++语言。

  想像一下,使用像Visual Basic这样的语言来与实时数据采集设备打交道的情况。在进行底层访问时,RAD的保护环境常常使程序员不能进行有效的处理。当然,数据采集设备几乎不依赖于简明的连接。你打算如何把Visual Basic和外部的数据源连接起来呢?数据源甚至可能不了解Windows,DOS或类似的成熟的操作系统。

  只要使用得当,很容易看到Visual C++是一种不可或缺的数据库管理工具。针对大规模的应用程序,即使你仍想依赖于Visual Basic这样的RAD语言,也请考虑一下Visual C++,它创建的程序规模小、提供底层访问并能提供实时访问。事实上,你可能还没有想到,Visual C++数据库应用程序的市场是很有潜力的。随着人们在旅途中越来越多地使用膝上型和掌上型电脑,这两类电脑上的数据库应用程序也变得越来越普通。你也许能够适应今天的膝上型电脑上的Access应用程序,但谈到硬盘大小或内存需求时,公司里较老的膝上型电脑可能就达不到要求。运行Windows CE的掌上型电脑在运行这个Access应用程序时,肯定会发生故障。在这一数据库市场的新领域,Visual C++提供了无价无限的工具。

  Web链接 谈到使用Visual C++和数据库,其实你并不孤单。从一开始就有数据库专用新闻组提供有关数据库创建技巧的帮助,比如microsoft.public.access。不过,这些新闻组提供的是通用信息,对实际编写应用程序并非全都那么有用。专门针对Visual C++问题的新闻组是microsoft.public.vc.database和microsoft.public.vc.mfcdatabase。如果你决定用ODBC访问数据库,可能还要查看一下microsoft.public.odbc.sdk新闻组,它讨论的不仅仅是SDK。对最新技术感兴趣的程序员可以查阅microsoft.public.ado新闻组,或者microsoft.public.oledb(对象链接和嵌入数据库)新闻组,前者讨论 ADO,后者讨论ADO的基础技术。在microsoft.public.ado.rds有一个ADO子组,它讨论远程数据访问。

  既然所有的疑惑都消除了,大多数人的信心也就增强了,下面我们就介绍两种使C++访问数据库中的数据的主要方法:ODBC(开放数据库互连)和ADO(ActiveX数据对象)。在本章中,将介绍这两种类型的访问方法,但我想你会发现,ADO方法是针对新的程序设计情形而采用的。它克服了早期技术的诸多限制,依赖于Microsoft新的底层访问方法OLE-DB(对象链接和嵌入数据库)。在本书的后面我们会看到,用ADO和Visual C++提供的各种向导来汇集数据库工程,其速度有多快。

  注 ODBC通常用来访问不具备OLE-DB特性的非Microsoft数据库中的数据;16位的ODBC驱动程序工作起来可能非常缓慢。

  ODBC素以最慢的数据访问方法而著称,但是很可惜,当ADO或DAO都不支持某个数据库管理器而ODBC支持这个数据库管理器时,在这种特定的情形下,你仍然需要使用ODBC。在大多数情况下,这意味着要从数据库厂商那里获得所需的驱动程序,虽然Visual C++确实附带了一些产品的驱动程序(如果你正在使用数据库管理器的某些神秘功能,那么就需要建立自己的接口棗这并不是一件十分困难的事)。本质上讲,你总是要使用ODBC来访问Microsoft产品之外的其它DBMS产品所创建的数据库,这些数据库并不具备OLE-DB功能。ODBC还要求做一些额外的工作棗为ADO调整Visual C++中的大部分向导。

  高级技巧

  除了使用ADO和ODBC外,你还可以使用像DAO(数据访问对象)这样的早期技术,该技术包含在像Access这样的Microsoft产品中。DAO依赖于用Microsoft Access自动获得的Microsoft Jet数据库引擎。DAO还是较早版的Visual Basic所使用的引擎(最新版的Visual Basic和Visual C++依赖于相同的ADO/OLE-DB组合),所以如果需要支持较早的Visual Basic应用程序,那么DAO仍是一个不错的选择。

  尽管Microsoft文件声明,可以用DAO访问非Microsoft产品建立的数据库,但你仍会发现,在这种情况下,使用ADO和ODBC

来源:https://www.tulaoshi.com/n/20160129/1510130.html

延伸阅读
标签: 荠菜
叶子不同 1 荠菜:荠菜的叶子嫩绿色,有的由于温度的问题还带有紫色,其叶边带有小刺,叶片边缘带有圆滑的缺口,整体上叶片的齿是顺生的,拔的时候顺手。 蒲公英:蒲公英的叶片也是嫩图老师绿色,不会有紫色的,其也变带有尖齿,边缘的缺口很深,呈三角形,叶上没有小刺,整体上叶片上尖齿是逆生的,拔的时候有逆手感。 根不用 2 荠菜:...
标签: 电脑入门
LCD与LED的区别 液晶不同于等离子的最大区别就是液晶必须依靠被动光源,而等离子电视属于主动发光显示设备。目前市场上主流的液晶背光技术包括LED(发光二极 管)和CCFL(冷阴极荧光灯)两类。LCD就是LCD.. LCD 液晶显示器是 Liquid Crystal Display 的简称,LCD 的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的...
标签: 电脑入门
Wigig是什么?WiGig是英文Wireless Gigabit的缩写,中文含义为:无线千兆比特是一种更快的短距离无线技术,可用于在家中快速传输大型文件。WiGig技术会比Wi-Fi(无线相容性认证)技术快10倍,且无需难看的网线就可以将高清视频由电脑和机顶盒传输到电视机上。 WiGig与Wifi的区别 从名字上看,WiGig与WiFi相近,但事实上它们功能也确实类似。不过...
标签: Java JAVA基础
您现在可能已在使用 Javabeans,但还不了解它。如果有支持 Java 的浏览器,那么,在桌面上使用 Javabeans 就没有限制。使用的 Web 页面可以将 beans 作为小应用程序的一部分。您很快就会和作为浏览器可视部分的 Javabeans 交互,然后,那些 Javabeans 将与服务器上的 EJB 接口。这种能力也可以扩展到因特网和内部网。 Java...
【粉刺和痤疮区别】 人们会经常接触到两个名词:粉刺和痤疮。它们是不是一样呢?如果不一样,粉刺和痤疮的区别在哪里呢? 痤疮是一个统称,粉刺常常是指尚未发炎的白头、黑头而言。而痤疮是已经发炎的一系列皮肤症状。 非炎性包括: (1)微粉刺:在毛囊漏斗部角质细胞堆积,开成微小的青春痘,肉眼几乎看不见,临...

经验教程

862

收藏

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