http://blog.csdn.net/ithomer/article/details/6624684sql
ODBC(Open Database Connectivity,开放数据库互连)数据库
1992年,微软公司开放服务结构(WOSA,Windows Open Services Architecture)中有关数据库的一个组成部分,它创建了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC自己也提供了对SQL语言的支持,用户能够直接将SQL语句送给ODBC。---出现的最先,但不老是万能。编程
DAO(Data Access Object,数据访问对象)服务器
1993年,微软公司用来显露了Microsoft Jet数据库引擎(最先是给Microsoft Access 所使用,如今已经支持其它数据库),并容许开发者经过ODBC直接链接到其余数据库同样,直接链接到 Access 表。DAO 最适用于单系统应用程序或在小范围本地分布使用。其内部已经对Jet数据库的访问进行了加速优化,并且其使用起来也是很方便的。因此若是数据库是Access数据库且是本地使用的话,建议使用这种访问方式---应用的专注性app
RDO(Remote Data Objects,远程数据对象)ide
1995年,RDO是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一块儿,提供了一个接口,形式上展现出全部ODBC的底层功能和灵活性。尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,并且它只能经过现存的ODBC驱动程序来访问关系数据库。可是,RDO已被证实是许多SQL Server、Oracle 以及其余大型关系数据库开发者常常选用的最佳接口。RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。---无疑是在odbc基础上的函数
OLE DB(Object Linking and Embedding, Database,对象链接嵌入数据库)工具
1997年, Microsoft 的一个战略性系统级编程接口,用于管理整个组织内的数据。OLE DB 是创建在 ODBC 功能之上的一个开放规范。ODBC 是为访问关系型数据库而专门开发的,OLE DB 则用于访问关系型和非关系型信息源,例如主机 ISAM/VSAM 和层次数据库,电子邮件和文件系统存储,文本、图形和地理数据以及自定义业务对象。性能
OLE DB 定义了一组 COM 接口,对各类数据库管理系统服务进行封装,并容许建立软件组件,实现这些服务。OLE DB 组件包括数据提供程序(包含和表现数据)、数据使用者(使用数据)和服务组件(处理和传送数据,例如,查询处理器和游标引擎)。
OLE DB 接口有助于平滑地集成组件,这样,OLE DB 组件厂商就能够快速地向市场提供高质量 OLE DB 组件。此外,OLE DB 包含了一个链接 ODBC 的“桥梁”,对现用的各类 ODBC 关系型数据库驱动程序提供一向的支持。---号称取代odbc,但也兼容odbc
优化
ADO(ActiveX Data Object,活动数据对象)
1996年,ADO是DAO/RDO的后继产物。ADO 2.0在功能上与RDO更类似,并且通常来讲,在这两种模型之间有一种类似的映射关系。ADO"扩展"了DAO和 RDO 所使用的对象模型,这意味着它包含较少的对象、更多的属性、方法(和参数),以及事件。 做为最新的数据库访问模式,ADO的使用也是简单易用,因此微软已经明确表示从此把重点放在ADO上,对DAO/RDO再也不做升级,因此ADO已经成为了当前数据库开发的主流。 ADO涉及的数据存储有DSN(数据源名称)、ODBC(开放式数据链接)以及OLE DB三种方式。后面的例程将详细讲解这三种方式的具体访问实现。---能够说是对odbc,oledb这些系统级的编程接口的汇接,并对DAO,RDO这些应用级的编程接口的升级吧。
ODBC 、DAO 、ADO 、OLEDB 数据库链接方式区别及联系
ODBC 是一种底层的访问技术,所以,ODBC API 能够是客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术没法完成的功能;但不足之处因为ODBC只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其余非关系数据库。
DAO 提供了一种经过程序代码建立和操纵数据库的机制。最大特色是对MICROSOFT JET数据库的操做很方便,并且是操做JET数据库时性能最好的技术接口之一。而且它并不仅能用于访问这种数据库,事实上,经过DAO技术能够访问从文本文件到大型后台数据库等多种数据格式。
ODBC(Open DataBase Connectivity)开放数据库互联。是由微软主导的数据库连接标准。
MFC(Microsoft Foundation Class)微软基础类。MFC ODBC是对ODBC的封装。
DAO(Data Access Object)数据访问对象。不提供远程访问功能。
RDO(Remote Data Object)远程数据对象。速度快,支持SQL Server存储过程,同DAO同样是发展不少年了的技术。
OLE-DB(Object Linking and Embedding DataBase)对象连接和嵌入数据库。它依赖于COM和提供OLE DB提供者的厂商而非ODBC使用的SQL。
ADO(ActiveX Data Object)ActiveX数据对象。基于OLE-DB创建链接的局部和远程数据库访问技术。同OLE-DB同样要“年轻”些。
ADO和OLEDB之间的关系
OLEDB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO-技术的应用程序或用于C++的开发者开发定制的数据库组件。
OLE DB 是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时仍是 ADO.NET 的数据源。
ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优势。属于数据库访问的高层接口。
能够这么说,ADO为OLEDB提供高层应用API函数。
各类数据接口的链接方式
1、ADO链接一、链接access数据库set conn=Server.CreateObject("ADODB.Connection")conn.open "Driver={Microsoft Access Driver (*.mdb)};dbq="&Server.Mappath("dbname(路径全名)")二、链接SQL Server数据库set conn=server.CreateObject("ADODB.Connection")sql="Driver={SQL Server};server=(local);uid=sa;pwd=sa;database=dbname"conn.open(sql)2、ODBC链接(必须先注册数据源---DSN)(列举配置SQL Server数据库文件DSN,打开管理工具---数据源(ODBC)---打开系统DSN选项卡---单击添加按钮---从列表中选择SQL Server,单击完成---在名称中输入数据库名称,在你想链接的SQL Server服务器中输入(local)---按向导提示完成)一、链接access数据库Set conn = Server.CreateObject("ADODB.Connection")conn.Open "DSN=注册名"二、链接SQL Server数据库set conn=Server.CreateObject("ADODB.Connection")conn.connectionstring="DSN=注册名;UID=sa;PWD=sa;"conn.open3、OLEDB链接数据库一、链接access数据库set conn=Server.CreateObject("ADODB.Connection")conn.open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&server.MapPath("dbname(路径全名)")&";Persist Security Info=False"set rs=Server.CreateObject("ADODB.Recordset")二、链接SQL Server数据库set conn=server.CreateObject("ADODB.Connection")sql="Provider=SQLOLEDB;data source=(local);initial catalog=dbname;User ID=sa;password=sa;"