论文部分内容阅读
摘要:论述了使用各种底层接口访问数据库的方法。并对三种方法进行比较,分析各自的特点和适用场合。
关键词:开放式数据库互连 数据库访问 接口
中图分类号:TP311.13 文献标识码:A 文章编号:1002-2422(2008)03-0022-01
1 ODBC的访问方式
开放数据库互连(ODBC)是微软公司开放服务结构中有关数据库的一个组成部分,建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。应用程序可以使用这些API访问任何提供ODBC驱动程序的数据库。这些API利用SQL来完成其大部分任务。ODBC的应用非常广泛,基本上可用于所有的关系数据库。但是ODBC访问数据库的速度相对其他一些访问方式较慢,这就限制了其应用范围。另外ODBC只能用于关系数据库,对于非关系数据库,ODBC就无能为力了。一个完整的ODBC由下列几个部件组成:应用程序、ODBC管理器、驱动程序管理器、ODBC驱动程序、数据源。
2 DAO的访问方式
DAO使用Microsoft Jet数据库引擎来访问数据库。Microsoft Jet为Access和VB这样的产品提供数据引擎。提供了通过程序代码创建和操纵数据库的机制。与ODBC一样,DAO提供了一组API供编程使用。MFC DAO是微软提供的用于访问Microsoft Jet数据库文件强有力的数据库开发工具。通过对DAO的封装,向程序员提供了DAO丰富的操作数据库手段。DAO从VC4.0版开始引入。DAO类提供了比ODBC类更广泛的支持:一方面,只要有ODBC驱动程序,使用Microsoft Jet的DAO就可以访问ODBC数据源;另一方面,由于DAO是基于Microsoft Jet引擎的,因此在访问Access数据库时具有很好的性能。DAO可以通过ODBC驱动程序访问ODBC数据源,但DAO是基于Microsoft Jet引擎的,通过该引擎,DAO可以直接访问Access、FoxPro、dBASE、Paradox、Excel和Lotus WK等数据库。
3 OLEDB/ADO的访问方式
OLEDB是基于COM接口的访问数据库的新技术。OLEDB提供了对包括关系数据库和非关系数据库在内的所有文件系统的统一接口。与ODBC技术类似,OLEDB属于数据库访问技术中的底层接口,封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。这些特性使得OLEDB技术比传统的数据库访问技术更加优越,速度更快。OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等,并不局限于ISAM、Jet甚至关系数据源,能够处理任何类型的数据,而不考虑数据的格式和存储方法。但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,并不符合简单化的要求。最理想的API应该是一座连接应用程序和OLEDB的桥梁,ADO技术是基于OLEDB的访问接口。对OLEDB的接口做了封装,定义了ADO对象,属于数据库访问的高层接口。由于掌握和使用更为方便,因此在基于COM技术的数据库访问中,通常使用ADO技术而不是OLEDB。ADO使用户能够编写应用程序以通过OLEDB提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
4 结束语
综上所述,ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。不论是FoxPro、Ac-CeSS还是Oracle数据库,均可用ODBC API进行访问。可见,ODBC的最大优点是能以统一的方式处理所有的关系型数据库。由于DAO可以访问ODBC数据源,在某些情况下可以获得更好的性能,特别是在访问Microsoft Jet数据库时,因此DAO可以替代ODBC,与ODBC相比,DAO还允许数据有效检查,允许用户说明表与表之间的关系。
关键词:开放式数据库互连 数据库访问 接口
中图分类号:TP311.13 文献标识码:A 文章编号:1002-2422(2008)03-0022-01
1 ODBC的访问方式
开放数据库互连(ODBC)是微软公司开放服务结构中有关数据库的一个组成部分,建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。应用程序可以使用这些API访问任何提供ODBC驱动程序的数据库。这些API利用SQL来完成其大部分任务。ODBC的应用非常广泛,基本上可用于所有的关系数据库。但是ODBC访问数据库的速度相对其他一些访问方式较慢,这就限制了其应用范围。另外ODBC只能用于关系数据库,对于非关系数据库,ODBC就无能为力了。一个完整的ODBC由下列几个部件组成:应用程序、ODBC管理器、驱动程序管理器、ODBC驱动程序、数据源。
2 DAO的访问方式
DAO使用Microsoft Jet数据库引擎来访问数据库。Microsoft Jet为Access和VB这样的产品提供数据引擎。提供了通过程序代码创建和操纵数据库的机制。与ODBC一样,DAO提供了一组API供编程使用。MFC DAO是微软提供的用于访问Microsoft Jet数据库文件强有力的数据库开发工具。通过对DAO的封装,向程序员提供了DAO丰富的操作数据库手段。DAO从VC4.0版开始引入。DAO类提供了比ODBC类更广泛的支持:一方面,只要有ODBC驱动程序,使用Microsoft Jet的DAO就可以访问ODBC数据源;另一方面,由于DAO是基于Microsoft Jet引擎的,因此在访问Access数据库时具有很好的性能。DAO可以通过ODBC驱动程序访问ODBC数据源,但DAO是基于Microsoft Jet引擎的,通过该引擎,DAO可以直接访问Access、FoxPro、dBASE、Paradox、Excel和Lotus WK等数据库。
3 OLEDB/ADO的访问方式
OLEDB是基于COM接口的访问数据库的新技术。OLEDB提供了对包括关系数据库和非关系数据库在内的所有文件系统的统一接口。与ODBC技术类似,OLEDB属于数据库访问技术中的底层接口,封装了ODBC的功能,并以统一的方式访问存储在不同信息源中的数据。这些特性使得OLEDB技术比传统的数据库访问技术更加优越,速度更快。OLEDB为任何数据源提供了高性能的访问,这些数据源包括关系和非关系数据库、电子邮件和文件系统、文本和图形、自定义业务对象等,并不局限于ISAM、Jet甚至关系数据源,能够处理任何类型的数据,而不考虑数据的格式和存储方法。但是,OLEDB应用程序编程接口的目的是为各种应用程序提供最佳的功能,并不符合简单化的要求。最理想的API应该是一座连接应用程序和OLEDB的桥梁,ADO技术是基于OLEDB的访问接口。对OLEDB的接口做了封装,定义了ADO对象,属于数据库访问的高层接口。由于掌握和使用更为方便,因此在基于COM技术的数据库访问中,通常使用ADO技术而不是OLEDB。ADO使用户能够编写应用程序以通过OLEDB提供者访问和操作数据库服务器中的数据。ADO最主要的优点是易于使用、速度快、内存支出少和磁盘遗迹小。ADO在关键的应用方案中使用最少的网络流量,并且在前端和数据源之间使用最少的层数,所有这些都是为了提供轻量、高性能的接口。
4 结束语
综上所述,ODBC的应用程序对数据库的操作不依赖任何DBMS,不直接与DBMS打交道,所有的数据库操作由对应的DBMS的ODBC驱动程序完成。不论是FoxPro、Ac-CeSS还是Oracle数据库,均可用ODBC API进行访问。可见,ODBC的最大优点是能以统一的方式处理所有的关系型数据库。由于DAO可以访问ODBC数据源,在某些情况下可以获得更好的性能,特别是在访问Microsoft Jet数据库时,因此DAO可以替代ODBC,与ODBC相比,DAO还允许数据有效检查,允许用户说明表与表之间的关系。