返回列表 发帖

OLEDB/ODBC的区别

OLEDB(OLEDB)是微软通向不同的数据源的低级应用程序接口。OLEDB不仅包括微软的标准数据接口-开放数据库连通性(ODBC)的结构化查询语言(SQL)能力,还具有面向其他非SQL数据类型的通路。 作为微软的组件对象模型(COM)的一种设计,OLEDB是一组读写数据的方法

       OLEDB对ODBC的兼容性,允许OLEDB访问现有的ODBC数据源。其优点很明显,由于ODBC相对OLEDB来说使用得更为普遍,因此可以获得的ODBC驱动程序相应地要比OLEDB的要多。这样不一定要得到OLEDB的驱动程序,就可以立即访问原有的数据系统

      由于oledb 和odbc标准都是为了提供统一的访问数据接口,所以曾经有人疑惑:ole db 是不是替代odbc的新标准?答案是否定的。
      实际上,odbc标准的对象是基于sql的数据源(sql-based data source),而ole db的对象则是范围更为广泛的任何数据存储。
       从这个意义上说,符合odbc标准的数据源是符合ole db标准的数据存储的子集。符合odbc标准的数据源要符合ole db标准,还必须提供相应的ole db服务程序(service provider),就像sql server要符合odbc标准,必须提供sql server odbc驱动程序一样。现在,微软自己已经为所有的odbc数据源提供了一个统一的ole db服务程序,叫做odbc ole db provider。
       odbc ole DB provider发布之后,有人又担心:odbc provider是不是在odbc之上的新的层次(Layer)?如果是,那么使用oleDB访问odbc数据源是否将影响性能?答案也是否定的。实际上,odbc provider的作用,是替换odbc driver manager,作为应用程序与odbc驱动程序之间的桥梁。

返回列表