bde与odbc的关系,请指教!(50分)

  • 主题发起人 主题发起人 liufang1
  • 开始时间 开始时间
L

liufang1

Unregistered / Unconfirmed
GUEST, unregistred user!
小弟刚学DELPHI,问一个简单的问题:DELPHI的BDE与微软的ODBC有和关系?
在DELPHI中访问数据库是否无须关心ODBC的配置??
 
如果你不用DELPHI通过ODBC连接数据库就不必关心ODBC的配置
BDE能自动识别ODBC的配置并自动添加到BDE 的别名里供DELPHI程序调用
 
DELPHI的BDE,主要是为ODBC的配置自动设置别名。你若使用的PARADOX或是MS SQL SERVER等,它们不必安装ODBC驱动程序,所以你在DELPHI中无须关心它们的ODBC配置。
 
BDE在原理上与ODBC是相似的,只是不同的标准而已,不同的是,ODBC已成为
工业标准,而BDE不是,因此BDE必须提供对ODBC的支持。
BDE可以自动识别ODBC的DSN,如果你没有数据库的BDE Driver或不想用BDE Driver
你可以用ODBC,只要你配置了ODBC DSN,BDE即可自动识别。
 
BDE 和 ODBC 从功能上来讲是同一类东西。都是提供对不同数据库管理系统的公共接口,从而简化数据库的的连接。所不同的是,odbc是目前的统一标准,必须对市场上的各种主流dbms都好用,具有通用性,但是效率稍差。bde是为delphi开发的数据库引擎。在用delphi进行开发时它可以取代odbc。同时它也可以连接到odbc.
 
到底访问那些数据库时需配ODBC呢??比如DELPHI自带的LOCAL INTRBASE需不需配
ODBC?
 
自带的应该不要吧.
bde就象 游戏开发包 和 direct X 一样啦(不知这个比喻恰不恰当)
 
BDE --> SQLLink --> Database Vendor's Client --> Database Server
I
I
V
ODBC --> ODBC Driver --> Database Vendor's Client --> Database Server
 
interbase 当然不要了,BDE对INTERBASE的驱动,比ODBC强不知多少倍,
不过ODBC是标准,连接一些特殊的数据库就需要ODBC了,本人宗旨是能不
用ODBC,就不用PDBC
 
OK,一般情况是这样的:
1、如果你的程序没有刻意使用ODBC,那么不需要安装;
2、实际上BDE支持的DESKTOP数据库以数:DBASE/PARADOX/FOXPRO/MS ACCESS(须相关DLL)
3、远程数据库如通过SQL LINK访问则不需要ODBC;
4、如果通过BDE访问ODBC数据源,即设置了ODBC别名,则需要ODBC//详细见BDE ADMINISTRATOR
5、如果使用了第三放ODBC组件或自己调用ODBC API则需要ODBC,如MODBC,ODBCEXPRESS。
工作原理见smartkid的帖子
基本概念见zhaoyipeng的帖子
 
ODBC与BDE完全是两码事,他们作用的层次都不一样,
使用odbc一定要用BDE。ODBC的作用是提供数据库类型、
数据库位置的透明性,使用BDE提供更高一级的透明性,
它使数据库应用程序不必关心访问数据库是以ODBC,还是
SQL LINK等方式进行。
你明白么?
 
to linkeen: "使用odbc一定要用BDE"吗?
 
>ODBC与BDE完全是两码事
实际上作用类似!但通过BDE使ODBC则必须安装ODBC :-(
>使用odbc一定要用BDE
使用其他第三方构件也没有问题。
 
to cakk:
在BORLAND的RAD中也可以直接使用ODBC的API,
而不用BDE,但一般很少有人这样用,我不想在
这个问题钻牛角尖。
 
BDE <> ODBC
是两家公司的竞争产品,是建立在同一层次上的数据库驱动程序标准,但BORLAND小
所以打不过MS,BDE要生存,自然要支持ODBC,为了使BDE程序员可以不修改程序,而
使用ODBC的驱动程序,BDE对ODBC进行了支持。在DELPHI中,可以通过BDE访问ODBC
(不推荐),也可以使用第三方构件(ODBC98/ODBC EXPRESS/MODBC)访问ODBC
一般情况,DELPHI用的是BDE。
 
多人接受答案了。
 
后退
顶部