odbc,ado,与oracle,sql server的驱动程序有什么区别?请各位赐教? 我在连接数据库时用ado或BDE,odbc方式,可一直不明白他们与oracle和sql server等各种数据库的驱动程序有什么关系? ado,BDE,odbc是不是叫数据库引擎,那么他们与数据库的驱动程序又有什么区别呢?请各位赐教,谢谢! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 个人意见:Ado和odbc是数据库引擎,这两种连接你不仅在Delphi中可以见到,别的开发语言中也可以见到,至于同BDE并列的ADO我倒认为那两个叫做两种Delphi控件集的简称更好一些,只是大家习惯了才都叫ADO,其实跟odbc并列和同BDE并列的ADO很不一样,另外,就是随着数据库和开发语言的发展,似乎大家普遍认为,ADO正在慢慢淘汰odbc ADO(ActiveX数据对象):它克服了早期技术的诸多限制,依赖于Microsoft新的底层访问方法OLE-DB(对象链接和嵌入数据库)。访问速度相当快。但有一个问题是,它不支持远程通信。这是Microsoft提出RDO(远程数据对象)的原因之一。 ODBC素以最慢的数据访问方法而著称,但是很可惜,当ADO或DAO都不支持某个数据库管理器而ODBC支持这个数据库管理器时,在这种特定的情形下,你仍然需要使用ODBC。在大多数情况下,这意味着要从数据库厂商那里获得所需的驱动程序,本质上讲,你总是要使用ODBC来访问Microsoft产品之外的其它DBMS产品所创建的数据库,这些数据库并不具备OLE-DB功能。 to 47522341(睡到8:30) ( ) 信誉:132 照你的说法ado,odbc,RDO,还有BDE都应该是数据库引擎;那为什么delphi必须使用BDE administrator连接odbc再连接数据库呢?而使用ado连接时好象无须使用BDE administrator就可以连上数据库? BDE administrator根本就是个配置工具,delphi是通过odbc dsn连接数据库的,怎么说呢,恰巧BDE administrator也可以配置odbc dsn,不用BDE administrator用windows自带的odbc数据源一样可以配置,你在BDE administrator里配置的odbc数据源打开windows的odbc管理器一样能看到。 to bluekitty(一只Colorful猪) ( ) 信誉:99 BDE与BDE administrator是不是一回事. BDE属于vcl,是个data aware组件包,BDE administrator是个工具,可以管理BDE访问数据库所需的数据库别名,也可以配置odbc dsn,应该算是一个应用软件。就如同sqlserver和sqlserver management console的关系。 to bluekitty(软件黑领)如果不用BDE administrator 可以连接上odbc的数据源吗?是不是BDE 和ado,odbc根本就不是一回事;BDE只是delphi访问数据库的一个工具,而ado,odbc是一种连接数据库的协议(或是方法). 如果不用BDE administrator 可以连接上odbc的数据源吗?----------------------------------------------------可以地,你打开控制面板->管理工具->数据源(ODBC)bde、ado、odbc其实算是一回事,他们都提供了数据访问接口,使程序员彻底脱离dbms,否则你使用access库就要处理access驱动,使用sqlserver就要处理sqlserver驱动,使用oracle就要处理oracle驱动,非常麻烦。但bde administrator和bde不是一回事,它只是个管理工具。具体bde、ado、odbc到底叫什么,叫工具或者方法或者协议都无所谓,就是个名字,不过我觉得叫接口比较顺耳。 to bluekitty(软件黑领) ( ) 信誉:99你打开控制面板->管理工具->数据源(ODBC)_____________________________________ 这只能在"用户dsn"中建一个数源,最终还是要用BDE administrator来设置啊!如果不用Bde administrator应该怎样做呢?谢谢! 我个人认为bde是一个和jdbc:ODBC桥接器一样的一个东西.对于建立odbc数据源的话也不一定要在控制面板里建立,它其实就是写一个注册表,通过对注册表的操作同样可以建立一个odbc数据源 这只能在"用户dsn"中建一个数源,最终还是要用BDE administrator来设置啊!如果不用Bde administrator应该怎样做呢?谢谢!------------------------------------------------------------------------哎呀,这些你自己试验一下不就很清楚了么。给你举个例子(注意,从头到尾都不要打开BDE administrator),比如你在用户dsn中设置了一个数据源叫mysql,配置好并测试成功。1、使用oledb提供者时(使用ado),连接串这样写(oledb for odbc):Provider=MSDASQL.1;Persist Security Info=False;Data Source=MySql。2、使用bde时,在TTable组件的大database属性的下拉列表中直接选择mysql。odbc因该算是一个提供者,而ado、bde则是使用者(不一定是使用odbc,ado也可以使用oledb)。 真是感谢各位的帮助(特别是 bluekitty(软件黑领))!谢谢大家!但我还是有一个小问题:我的机器上装有oracle的客户端(Oracle ODBC Driver)版本号为:8.01.06.00,我是在数据源(ODBC)的"驱动程序"中看到的.但在BDE administrator的"configuration"-"Drivers"-"ODBC"中看到相同的名字"Oracle ODBC Driver"但是它的Version却是5.0的.我不明白的是:BDE administrator中的驱动程序是不是由delphi自带的,而本地机器上的"数据源(ODBC)"中看到的驱动程序是数据库产商提供的?谢谢! 上面这个问题我看了一下帮助,帮助是这么解释的:internal borland version number of the SQL Links driver.do not modify.可见,这是个borland定义的内部版本号,和实际的oracle的版本号无关,如果你装的是oracle 8i,那么在odbc管理器中看到的8.01.06.00就是对的。 delphi 节点遍历 EXP workflow 是那个公司出的工作流调度系统(顶者有分) 怎么用TCanvas画出一个无边框的实心矩形? Delphi 访问Ole服务器出现意外情况 我的抉择啊,是否要参加专升本考试,希望大家给我点帮助! 救救我吧,解决立即结贴........... 为什么男人喜欢沾花惹草 新浪短信错误问题,大侠们来看一下。 在Delphi5下怎么访问SQL2000,在线等待 西安有没有delphi高手? 在CSDN上发帖数量过10,散分纪念 大哥们怎么获取局域网中的所有 SQL Server 服务器
Ado和odbc是数据库引擎,这两种连接你不仅在Delphi中可以见到,别的开发语言中也可以见到,
至于同BDE并列的ADO我倒认为那两个叫做两种Delphi控件集的简称更好一些,只是大家习惯了才都叫ADO,其实跟odbc并列和同BDE并列的ADO很不一样,
另外,就是随着数据库和开发语言的发展,似乎大家普遍认为,ADO正在慢慢淘汰odbc
ODBC素以最慢的数据访问方法而著称,但是很可惜,当ADO或DAO都不支持某个数据库管理器而ODBC支持这个数据库管理器时,在这种特定的情形下,你仍然需要使用ODBC。在大多数情况下,这意味着要从数据库厂商那里获得所需的驱动程序,本质上讲,你总是要使用ODBC来访问Microsoft产品之外的其它DBMS产品所创建的数据库,这些数据库并不具备OLE-DB功能。
照你的说法ado,odbc,RDO,还有BDE都应该是数据库引擎;
那为什么delphi必须使用BDE administrator连接odbc再连接数据库呢?
而使用ado连接时好象无须使用BDE administrator就可以连上数据库?
BDE与BDE administrator是不是一回事.
如果不用BDE administrator 可以连接上odbc的数据源吗?
是不是BDE 和ado,odbc根本就不是一回事;
BDE只是delphi访问数据库的一个工具,而ado,odbc是一种连接数据库的协议(或是方法).
----------------------------------------------------
可以地,你打开控制面板->管理工具->数据源(ODBC)bde、ado、odbc其实算是一回事,他们都提供了数据访问接口,使程序员彻底脱离dbms,否则你使用access库就要处理access驱动,使用sqlserver就要处理sqlserver驱动,使用oracle就要处理oracle驱动,非常麻烦。但bde administrator和bde不是一回事,它只是个管理工具。具体bde、ado、odbc到底叫什么,叫工具或者方法或者协议都无所谓,就是个名字,不过我觉得叫接口比较顺耳。
你打开控制面板->管理工具->数据源(ODBC)
_____________________________________
这只能在"用户dsn"中建一个数源,最终还是要用BDE administrator来设置啊!
如果不用Bde administrator应该怎样做呢?谢谢!
如果不用Bde administrator应该怎样做呢?谢谢!
------------------------------------------------------------------------
哎呀,这些你自己试验一下不就很清楚了么。给你举个例子(注意,从头到尾都不要打开BDE administrator),比如你在用户dsn中设置了一个数据源叫mysql,配置好并测试成功。
1、使用oledb提供者时(使用ado),连接串这样写(oledb for odbc):Provider=MSDASQL.1;Persist Security Info=False;Data Source=MySql。
2、使用bde时,在TTable组件的大database属性的下拉列表中直接选择mysql。
odbc因该算是一个提供者,而ado、bde则是使用者(不一定是使用odbc,ado也可以使用oledb)。
但我还是有一个小问题:
我的机器上装有oracle的客户端(Oracle ODBC Driver)版本号为:8.01.06.00,我是在数据源(ODBC)的"驱动程序"中看到的.但在BDE administrator的"configuration"-"Drivers"-"ODBC"中看到相同的名字"Oracle ODBC Driver"但是它的Version却是5.0的.我不明白的是:BDE administrator中的驱动程序是不是由delphi自带的,而本地机器上的"数据源(ODBC)"中看到的驱动程序是数据库产商提供的?
谢谢!
internal borland version number of the SQL Links driver.do not modify.
可见,这是个borland定义的内部版本号,和实际的oracle的版本号无关,如果你装的是oracle 8i,那么在odbc管理器中看到的8.01.06.00就是对的。