日期:2014-05-16  浏览次数:20397 次

数据库的连接——“OLEDB与ODBC”

    一开始接触数据库,对于OLEDB和ODBC的关系比较模糊,理解不是很深刻。下面我们先来看看他们的关系。

    ODBC(开放数据库互连):Microsoft引进的一种早期数据库接口技术。它实际上是ADO的前身。早期的数据库连接是非常困难的. 每个数据库的格式都不一样,开发者得对他们所开发的每种数据库的底层API有深刻的了解. 因此,能处理各种各样数据库的通用的API就应运而生了. 也就是现在的ODBC(Open DatabaseConnectivity), ODBC是人们在创建通用API的早期产物. 有许多种数据库遵从了这种标准,被称为ODBC兼容的数据库. 

    OLEDB(对象链接和嵌入数据库)位于ODBC层与应用程序之间. ADO是位于OLEDB之上的"应用程序". 你的ADO调用先被送到OLEDB,然后再交由ODBC处理. 你可以直接连接到OLEDB,如果你这么做了,你将看到服务器端游标(recordset的缺省的游标,也是最常用的游标)性能的提升. 

    另外,图上画的都是以SQL server身份验证的方式举例的。而数据库一般都支持两种,如Windows身份验证,或SQL身份验证。即SQL身份验证需要指定用户名和密码,而Windows身份验证就不用。

用OLEDB方式来举例:

  Sql身份验证模式: