由于连接数据的时候出现了很多不懂得问题,为什么要连接,它是怎么连接的,查着查着,就越看越多。又不舍得就这么放过这些问题,所以就耐心看看究竟是怎么回事!
1.自从出现数据库,人们渴望用数据和应用程序做交互。就出现了所谓数据访问
最初有很多种数据库,但数据根据不同的数据库系统存储在其中的方式不同。
这个时期数据的访问还是很直接的方式,通过编写代码直接访问数据库。
开发者必须回用不同的应用程序接口来编写不同的数据库访问代码。
比如我用vb编写的学生信息管理系统,在访问SQL Server数据库中存放的数据。如果换成用C语言编写的系统,此时就需要重新修改访问数据库的代码;同时,如果数据库的改变,也同样需要改变访问数据的代码。
为了解决这一个问题,人们就想了一个办法,做一个公共层,这个公共层的作用就是,不管你最终要与什么类型的数据库(注意)进行连接,都不用写专为访问这种类型数据库的访问代码。发明公共层的人想把基于不同数据库的所有访问代码做成一个集大成者。你需要连接数据库时候调用这个公共层,都用这个公共层来去检索数据就好了。这就是ODBC,通用数据访问技术。它就是这个公共层!
(注意)关于ODBC,其实它使用的关系型数据管理系统的专用驱动程序,所以它能搞定关系型数据库。其他的就不行了。
接着聊ODBC的实质
用ODBC这种数据检索技术,应用程序首先要将请求转换成SQL语言,这个过程由ODBC Manager找合适的ODBC驱动程序来完成,完成后交给数据库,最终结果在返回给客户端程序。
这样,我们的应用程序就需要编写利用ODBC API的代码。但这非常麻烦。所以出现了DAO(Date Access Objects)和RDO(Remote Date Objects)对象模型。这是进一步的“接口化”。如果说之前我们的应用程序中需要编写ODBC API的工作,现在它们的出现完成了这样的工作。把所有需要做的工作封装起来,做成一个东西,你需要的使用直接调用别人写好的代码就可以,按需求取。
由于ODBC只限于检索关系型数据库,它的后代OLE DB出现,能够定义更为广泛的数据源。
OLE DB的革新在于它不仅可以通过COM接口处理行列数据,还可以通过其他的数据提供者,提供来的数据!
前面我理解ODBC API 和ADO的关系:ADO是ODBC API的封装。
OLE BD 是ODBC 的后代。它和ADO的关系:因为OLE DB本身通过一系列COM接口实现了数据的低级连接!而ADO它是将这些很多接口集合成了一个对象。
数据库访问方式的发展史【参考ODBC, OLEDB, ADO, ADO.Net的演化简史 - BobLiu - 博客园】
2.配置odbc数据源的连接【参考配置SQL Server 2008 数据源(ODBC编程)_NetSuite - 张老师的博客-CSDN博客_sqlserver2008odbc数据源配置】,这篇介绍的非常详细,实用推荐!
3.由于这次的学生信息管理系统是用VB写的,来聊聊vb的ADO 访问【参考VB中基于ADO的数据库访问_王永俊的博客-CSDN博客_vb 数据库】在这篇CSDN中非常详细!这次,只想站在巨人的肩膀上,多读几遍,因为还不懂如何表达ADO整个过程,所以在积累ing!
总结:不将就就是发现的原动力
——《米老师语录》