通过ado和通过odbc调用数据库有什么不同?

 我来答
tendgzf
2012-08-21 · 知道合伙人教育行家
tendgzf
知道合伙人教育行家
采纳数:336 获赞数:1145
从事气体安全系统工程方面近十年,对气体安全方面有一定期了解,在国内安全类杂志上发表多篇论文。

向TA提问 私信TA
展开全部
OLE DB和ODBC是微软开发的数据库连接处理技术. OLE DB是新一代技术,
ODBC属于要微软很快要淘汰(不支持)的产品. 而ADO (ActiveX Data Object)是建立
在OLE DB技术上的数据对象, 它主要特点是:

1. 是连接各种不同数据(关系数据库,大型数据库,文件系统,Email服务器,文本文件...)
的统一界面.用户不用接触低层的OLE DB,而ODBC只能连接关系数据库.

2. ADO属于微软极力推行的COM概念, 即ADO几乎可以在任何微软产品里使用
(VFP,VB, VC, VJ,Office, Visual Interdev, Frontpage). 其使用方式,
命令几乎都是一样. (个人推测,微软正试图将所有编程工具往一起集成)

3. OLE DB远程数据处理功能很强. 用RDO使网站动态数据传送变得非常简单.

在VFP里用ADO有什么优缺点?
在VFP里,几乎所有东西都是Object, 只有3个例外: 报表,数据,菜单.
Object的好处大家都很清楚,可以把属性,方法,事件和一个Object捆在一块.
而ADO就是把数据变成了Object, 在ADO里, 连接,SQL命令,记录集,记录,字段等都是
Object.比如有个记录集(Recordset)RS1, 可以通过它的Count属性得到记录总数,
用MoveFirst, MoveNext等方法移动记录, 用Update方法更新.

当然ADO的这些功能都能用相应的VFP命令来实现,但有一个功能是VFP的练门:
VFP的方法,表单或者进程之间不能传递整块的数据(比如一个临时表或者几个记录),
这在使用COM或者远程数据时就成为很大缺陷了.
而ADO是一个Object,很容易传送,就象传送一个变量一样.
在 2-Tier或者3-Tier系统里,这是至关重要的. 比如在ASP里可以直接调用VFP编的COM
Object来进行数据处理, 然后返回一个记录集Object. ASP里的控件可以直接和该记录
集绑定来显示数据.

OLE DB和ODBC核心引擎都是VFP的Cursor技术,所以,用VFP处理数据是最快和最直接的,
通过ADO来处理,就等于另加了一个层次,既多消耗系统资源,速度也比不上VFP.
而且ADO的记录集是一个Object,你就不能象在VFP里那样直接用Browse等命令来浏览
所有数据.

有人做过测试, 对用ADO的ASP网页和用 Westwind的纯VFP网页(用VFP作为Script语言)
技术进行比较, VFP速度至少是ASP速度的5倍. 当然ASP慢,不全是数据连接慢,
可能是因为集成的东西太多.

说得有点乱, 但结论可以这么下:
如果用VFP编COM组件,或做3 -Tier的中间层, 用ADO比较方便.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式