This question already has answers here:
what is the difference between OLE DB and ODBC data sources?

(11个答案)


7年前关闭。




OLEDB和ODBC有什么区别?什么时候使用哪个,我怎么知道我在看的是OLEDB驱动程序与ODBC驱动程序?

最佳答案

OLEDB和ODBC是两个不同的数据库API。 ODBC是一个较旧的标准,实际上并不特定于Windows-您可以获取基于Unix的ODBC库。 OLEDB是用于数据库连接的基于COM的API。

如果您使用的数据库没有本机OLEDB驱动程序,则有一个用于将ODBC与OLEDB前端包装在一起的驱动程序。 IIRC DB2 / 400和Sybase OLEDB驱动程序(例如)使用此方法。

Windows中的ODBC管理员仅与ODBC驱动程序有关。 ODBC和OLEDB都可以使用格式稍有不同的连接字符串。您可以从连接字符串中看出-www.connectionstrings.com具有许多不同数据库驱动程序的连接字符串示例。

编辑:Oracle在一周的每一天都有一种驱动程序技术。

  • Oracle具有一个称为'Oracle provider的native OLEDBdriver
    用于OLEDB'等。如果你是
    使用ADO(非.Net,位于
    OLEDB),这将是首选
    司机。
  • 他们也有一个ODBC driver
    这将(例如)对
    从Oracle数据库中提取
    MS-Access或不支持OLEDB的应用程序或系统。例如,较旧的Delphi / Oracle或Powerbuilder / Oracle应用程序可能会使用此驱动程序。
  • Oracle也有一个
    特定于Oracle的接口(interface)
    OCI。这是最快的
    接口(interface),如果您使用C和
    也可以在非Windows上使用
    平台但与您的应用程序绑定(bind)
    甲骨文。动态语言绑定(bind)(例如python的cx_Oracle)通常是OCI的包装。
  • 如果您使用的是.Net,则可能是
    想要ODP.Net而不是
    使用.Net为OLEDB提供。这是
    标准.Net接口(interface)库
    由Oracle提供。
  • 有几种JDBC drivers用于
    甲骨文有一个2型驱动程序
    这是OCI的包装,
    编写的4类驱动程序
    本机使用Java进行交流
    直接通过网络连接到
    服务器。如果您使用的是Java,则类型4驱动程序可能是大多数应用程序的最佳选择(不必安装完整的Oracle客户端),除非您出于特殊原因需要类型2驱动程序。
  • 关于odbc - OLEDB v/s ODBC ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/271504/

    10-12 05:59