vc 用哪种数据库连接,执行效率最高;用哪种数据库连接,编成最方便? 大家讨论一下,odbc、ado、dao、ole db各自的优缺点。还有,嵌入式sql是指什么,是用哪种连接实现的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 对于Acess数据库,ado连接是最简单方便的,速度也是最快的,而且用它来连接Acess可以不用用户在控制面板中注册数据库 主要考虑ado和ole db。ado代码短小简单,但性能不高。oledb性能好,但是使用复杂,代码冗长。如果你的应用程序有很多客户连接,同时处理的话要最好用oledb。如果对性能要求不是很高的话用ado,可以节省很多时间 to AkiraChing(水银):不可否认,大多数数据库连接都是工作在odbc驱动上的,何言过时? 不错,以前的程序很多都是基于odbc的,而且odbc很早,比dao都早,微软以前也很推崇odbc的解决方案,但是现在微软推广的是ado,事实上odbc已经过时了,不过在微软还提供支持的时候,你仍然可以用啊,而且技术成熟 ODBC编程很方便,但访问某些数据库时速度太慢,如Sybase,Oracle等。 现在是ADO的时代,但Microsoft以外数据库不一定带这个接口。如果是和Ms以外的数据库连接,用ODBC,它速度相对要慢一些,但很成熟。DAO是个劣质品,它只能进行本地连接,如果要用在网络就要配合RDO一起使用。 微软已经不对dao进行支持了,dao已经属于快淘汰的技术了 ODBC 没有过时。OLEDB 是在 Direct DB 层面上访文数据库的,不是工作在 ODBC 驱动基础上的。不知道我理解得是否正确,我认为 ADO 是一组组件对象。即便用 ADO 也可以用 ODBC 方式访问数据库的。而 OLEDB 和 ODBC 一样,都是数据库驱动技术。只是 ODBC 是更抽象一层次的开放的协议标准,符合 ODBC 标准协议的数据库驱动技术都能按照 ODBC 方式使用,包括 OLEDB 的各种驱动——for sql/oracle 等等。我理解它们之间关系由上之下是:DAO/RDO/ADO/JDO 数据库访问组件/类ODBC/JDBC 众多数据库访问驱动软件/组件所共同支持的开放标准OLEDB 微软的数据库驱动技术>对于Acess数据库,ado连接是最简单方便的,速度也是最快的,而且用它来连接Acess可以不用用户在控制面板中注册数据库ADO 访问数据库的 Connections String 中可以调用本机注册的 DSN(就是你说的在控制面板中设置的“东西”),可以调用文件型 DSN,甚至可以把 DSN 的内容写在 ConnectionString 里面——实际上,可以用ADO调用支持ODBC的数据库驱动,也可以直接调用OLEDB的数据库驱动——比如可能调用了 MS ODBC for Oracle,或者可能是 Oracle OLEDB for Oracle,也可能是 MS OLEDB for Oracle。呵呵,用ADO不说明用的一定就是ODBC或OLEDB,但ADO本身不“访问”数据库,而是数据库驱动在做这事儿。 to piggybank(吞硬币的小猪) :那也就是说,odbc 和 oledb 是运行效率最高的了?。 OLEDB 比 ODBC 效率高按照微软的设计意图,ADO 比 DAO 更适合网络应用 ADO比ODBC效率高?请指教。不过DB_LIB连SQL到是很快的。 ADO是很方便的,如果VB+ADO那应该是最简单的吧 严格的说应该是OLE DB最好,但是ADO为OLE的上层接口,所以用ADO比较好,当然,如果用OLE也可以了,但是要多写很多代码。现在的数据库,包括非微软的Oracle ,Ifix等等也都支持ADO.至于ODBC别的都好,就是速度太慢。其它的DAO好像用的人不多,不太了解! 从并发性最好的角度出发,哪一种最好呢?我试过ado,在两个线程中同时执行一个存储过程时,两其中有一个会执行失败,不知个位大虾有没有相同经历。 匿名管道程序,调通给分! ParseDateTime 为什么反应速度很慢 高分求能用的讯飞语音5.0或4.0开发包(包括对应的iFlyTTS.dll)文件 IP数据包监控软件的实现 关于插件编程 为什么我的电脑,访问网页加载Activex控件后,不能显示,但是当装了VC以后就可以显示了 [新手]要把内存中的数字或字母放到对话框的 Editbox 里要怎么做? 用堵塞的winsock怎么加超时处理 将整型转化成字符型??? 删除对话框?? 怎么把字符串转化为长整形? 请教进程占有率的问题
如果是和Ms以外的数据库连接,用ODBC,它速度相对要慢一些,但很成熟。
DAO是个劣质品,它只能进行本地连接,如果要用在网络就要配合RDO一起使用。
而 OLEDB 和 ODBC 一样,都是数据库驱动技术。只是 ODBC 是更抽象一层次的开放的协议标准,符合 ODBC 标准协议的数据库驱动技术都能按照 ODBC 方式使用,包括 OLEDB 的各种驱动——for sql/oracle 等等。我理解它们之间关系由上之下是:
DAO/RDO/ADO/JDO 数据库访问组件/类
ODBC/JDBC 众多数据库访问驱动软件/组件所共同支持的开放标准
OLEDB 微软的数据库驱动技术
>对于Acess数据库,ado连接是最简单方便的,速度也是最快的,而且用它来连接Acess可以不用用户在控制面板中注册数据库
ADO 访问数据库的 Connections String 中可以调用本机注册的 DSN(就是你说的在控制面板中设置的“东西”),可以调用文件型 DSN,甚至可以把 DSN 的内容写在 ConnectionString 里面——实际上,可以用ADO调用支持ODBC的数据库驱动,也可以直接调用OLEDB的数据库驱动——比如可能调用了 MS ODBC for Oracle,或者可能是 Oracle OLEDB for Oracle,也可能是 MS OLEDB for Oracle。呵呵,用ADO不说明用的一定就是ODBC或OLEDB,但ADO本身不“访问”数据库,而是数据库驱动在做这事儿。
按照微软的设计意图,ADO 比 DAO 更适合网络应用
不过DB_LIB连SQL到是很快的。
至于ODBC别的都好,就是速度太慢。
其它的DAO好像用的人不多,不太了解!