访问技术ODBC
ODBC(Open Database Conneclivily,开放数据库互连)是微软公司开放服务结构(WOSA, Windows Open Services Archilec-ture)中有关数据库的一个组成部分,它建立了一组规范,并提供了一组对数据库访问的标准API(应用程序编程接口)。这些API利用SQL来完成其大部分任务。ODBC本身也提供了对SQL语言的支持,用户可以直接将SQL语句送给ODBC。一个完整的ODBC由下列几个部件组成:应用程序(Application) ,ODBC管理器(Administrate ) ,驱动程序管理器(Driver Manag-er) ,ODBC API,ODBC 驱动程序和数据源。ODBC只提供单一的API,可用于处理不同数据库客户应用程序。
MFC ODBCMFC ODBC的本质是ODBC,只是Visual C++中提供了MFCODBC类,封装了ODBC API,这样使得程序的编制更为方便,只需了解该类的一些属性和方法就可以访问数据库了,而无需了解ODBC API的具体细节。口前大部分的ODBC开发都使用MFC ODBC。 Visual C++的MFC类库定义了几个数据库类,在利用ODBC编程时,经常要使用到CDalabase(数据库类),CRecordSet(记录集类)。其中CDalabase类对象提供了对数据源的连接,通过它你可以对数据源进行操作;CRecordSel类对象提供了从数据源中提取出的记录集。
DAODAO(Dala Access Object)数据访问对象,是允许程序员操作Microsoft Jet数据库引擎的一个而向对象的接口。JET数据库引擎是一种用来访问Access和其他数据源记录和字段的技术。DAO在许多方面都可以说是ODBC的一个超集,它包括了ODBC类的绝大部分功能并且新增了自己的许多功能。DAO支持以下几种数据源:
(1)Microsofl Jet型数据库文件,即基于微软的mdb类型数据库的数据库应用程序,该数据库是通过Access生成的。
(2)DAO可对ODBC数据源进行操作,但性能并不是很好,可以选择使用ODBC Direct。 ODBC Direct可以直接访问ODBC数据源,而不是通过JET引擎。
(3 )ISAM型(索引顺序访问方法)数据源,包括Dbase , Fox-Pro , Paradox , Excel或文本文件。
OLE DBOLE DB是Visual C++开发数据库应用中提供的新技术,它基于COM技术,由一套通过COM访问数据源的ActiveX接口组成。OLE DB包括客户和服务器两部分。其中,客户指任何一个使用OLE DB接口的系统或者应用程序,包括OLE DB本身;而服务器是指所有提供OLE DB接口的软件组件。
ADOADO是ActiveX数据对象(AcLiveX Data Object ),这是Mi-crosoft开发数据库应用程序的面向对象的新接口,是一种特殊的OLE DB客户程序。ADO访问数据库是通过访问OLE DB数据提供程序来进行的,它提供了一种对OLE DB数据提供程序的简单高层访问接口。1
访问技术的选择开发数据库应用时,恰当选择访问数据库的技术是很必要的。数据库访问技术的确定与应用的规模、操作的层次、数据的分布能力以及选择的数据库系统等因素有关。
通常选择了数据库,就将数据库访问技术限制到一个小的选择范围。例如我们选择使用微软的SQL Server 7.0数据库系统,这时我们只能通过ODBC或者通过DAO,OLE DB,ADO访问数据库,而不能采用DAO,DAO虽然也可以通过ODBC访问SQL Server,但是效率非常低下,通常很少会用到它。
选择ADO(OLE DB)或MFC ODBC(ODBC)时,有几条一般的规则:如果要访问支持ODBC的数据库,而该数据库又在不支持OLE的服务器上,那么只有选用ODBC;对支持OLE的服务器来说,应首先考虑使用ADO(OLE DB),除非有现成的ODBC驱动程序可供利用;ODBC在处理SQL时能力较强。处理非SQL数据库时,ADO(OLE DB)则具有非常明显的优势;对于访问量很大的数据库服务器以及要求访问速度较快的情况,应使用ADO(OLE DB);如果需要可互操作的数据库部件,那么只有选择ADO ( OLE DB ) 。1