在上一讲中,讲解了数据库的大概种类和特点,这些和我们VBA的知识离得远些,我们要用到只是其中的一点点就可以了。那么,要想操作数据库,首先要做的是什么呢?对了,就是要首先连接到这个数据库(我们先假设有这么一个数据库,即使它是空的)。这就好比我们要想实现上网的功能,首先要用网线连接到服务器,如果不连上服务器,你是无法上网的。连接数据库的过程就是相当于建立网线连接的过程,就是就是建立一个通道。如果你不连接上数据库,就无法操作数据库,就好比你不建立网络的连接就无从谈到上网浏览网页了。而且,连接数据库的过程,也是为了验证安全性. 比如我这里主要讲VBA,那么我就要首先让我的VBA连接上数据库,然后才能操作数据库。
下面就开始讲如何建立连接,及连接的方式了,用通俗的语言讲,就是用什么设备上网呢?是电信,还是移动,联通。这里我还是提供几种常见的连接方式及其介绍,到下一讲我们将将具体的连接代码了。
一 ODBC方式联接
ODBC(Open DataBase Connectivity)翻译过来就是开放数据库互联。是由微软主导的数据库链接标准。是一种底层的访问技术,ODBC API 可以让客户应用程序能从底层设置和控制数据库,完成一些高级数据库技术无法完成的功能;但不足之处由于ODBC是只能用于关系型数据库,使得利用ODBC很难访问对象数据库及其他非关系数据库。
二 DAO方式联接
DAO(Data Access Object)数据访问对象型。不提供远程访问功能。只提供了一种通过程序代码创建和操纵数据库的机制。最大特点是对MICROSOFT JET数据库的操作很方便,而且是操作JET数据库时性能最好的技术接口之一。并且它并不只能用于访问这种数据库,事实上,通过DAO技术可以访问从文本文件到大型后台数据库等多种数据格式。Microsoft Jet为Access和Visual Basic这样的产品提供了数据引擎。
备注1:DAO类与ODBC类相比具有很多相似之处,这主要有下面几点:
两者都支持对各种ODBC数据源的访问。二者使用的数据引擎不同,但都可以满足用户编写应用程序的要求。由于DAO和ODBC类的许多方面都比较相似,因此只要用户掌握了ODBC,就很容易学会使用DAO。实际上,用户可以很轻松地把数据库应用程序从ODBC移植到DAO。
三ADO 方式联接
ADO(ActiveX Data Object),是ActiveX数据对象,是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。是在OLE DB规程下开发的,基于OLE-DB建立连接的局部和远程数据库访问技术。同OLE-DB一样,它要'年轻'些。使用中,我们一般用OLE-DB和ADO替代DAO和RDO。
备注2:ADO和OLEDB之间的关系为:
OLE DB是一种底层数据访问界面接口。是用于第三方驱动程序商家开发输出数据源到ADO技术的应用程序或用于C++的开发者开发定制的数据库组件。
ADO 是基于OLE DB的访问接口,它是面向对象的OLE DB技术,继承了OLE DB的优点。属于数据库访问的高层接口。
OLE DB 是用于访问数据的重要的系统级编程接口,它是 ADO 的基础技术,同时还是 ADO.NET 的数据源。
可以这么说,ADO为OLEDB提供高层应用API函数。
我们可以通过下面的表格比较各种连接方式的优缺点:
在我的《VBA与数据库》中大部分是以ADO的连接模式来进行连接数据库的。
今日内容回向:
1 数据库连接大概有哪几种方式?
2 为什么要先进行数据库的连接操作?