ADO是为OLE DB设计的一个便于使用的应用程序层接口,可以说,ADO是OLE DB的一个外壳,不过这个外壳没有全部的包住OLE DB,我们通过ADO连接数据库实际就是为了确定OLE DB的数据提供者,根据OLE DB的数据提供者不同,我们对ADO对象或控件的设置也就不同了。(上一篇博被踩的很惨,不过我认为对于像我这样的初学者来说,看看还是非常的有益的,所以希望看这篇的人能够看一下我的上一篇博客:ADO、OLE DB和ODBC)
1、非ODBC的数据提供者。
此时,就是数据库管理系统的生产商,根据OLE DB的标准,设定了新的驱动,可以直接和数据库服务器进行交流。
2、ODBC的数据提供者
因为数据库管理系统的生产商,还没有生产出以OLE DB为标准的驱动,所以,就用ODBC的标准(这个标准比较早,数的上的关系型数据库都有对应它的驱动),至于,OLE DB和ODBC之间的驱动连接,我们就不用管了,因为OLE DB中想到这点了。
在连接ODBC数据提供者的时候,我们需要做的是创建一个文件,这个文件里有各种信息,可以使应用程序正确的连接上数据库。
2—1、用户DSN
创建用户DSN后,用户DSN会把相应的配置信息保存在Windows的注册表中,但是只允许创建该DSN的登录用户使用。以VB举例(用户DSN创建好了):objRs.open ("DNS=dnsName") dnsName指的是,我们创建的用户DSN文件的名字。下面举例类同。
2—2、系统DSN
系统DSN同样将有关的配置信息保存在系统注册表中,但是与用户DSN不同的是系统DSN允许所有登陆服务器的用户使用,也就是说,只用能够用我这台电脑,ok,你就可以用系统DSN文件。举例:objRs.open ("DNS=dnsName")
2—3、文件DSN
文件DSN的具体配置信息保存在硬盘上的某个具体文件中。文件DSN允许所有登录服务器的用户使用,而且即使在没有任何用户登录的情况下,也可以提供对数据库DSN的访问支持。此外,因为文件DSN被保存在硬盘文件里,所以可以方便的复制到其它机器中。这样,用户可以不对系统注册表进行任何改动就可直接使用在其它机器上创建的DSN。举例:objRs.open ("fileDNS=A")。A代表文件所在硬盘的位置。
插入:使用ODBC标准时,就要进行一些ODBC的配置,配置ODBC有两种方式,一种是通过ODBC配置程序进行配置(下面的举例就是这种方式),另一种是通过字符串书写进行配置。通过ODBC配置程序进行配置,我们可以很清楚的知道运用了ODBC,因为有DSN文件;但是,通过字符串配置就不好区分了,字符串配置就是在代码中进行书写配置,其实,DSN文件中的内容就是这些字符命令,你可以用记事本打开看看(修改DSN文件后缀名),字符串配置ODBC和OLEDB直接访问(非ODBC数据源)数据库的另一个难区分点是,OLEDB兼容ODBC,也就是说,OLEDB中的某些关键字换成ODBC中的关键字也是可以的,那么应该如何区分呢?OLEDB需要数据源,所以,会有provider,而ODBC需要找到厂商根据ODBC接口提供的驱动,所以,关键字为Driver。ODBC的这两中配置也是相互兼容的,也就是说你ODBC文件配置了UID和PWD,你也可以在代码中继续写UID和PWD(代码和ODBC文件中的UID和PWD要相同,否则出错),当然,也可以不用写。
下面以创建文件ADO举例:
开始—控制面板
选大图标
ok,点击确定。
原文链接:https://www.f2er.com/vb/259648.html