OLEDB和ODBC有什么区别?我何时使用哪个?如何知道我在看OLEDB驱动程序v/s 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有一个原生的OLEDB驱动程序,称为" OLEDB的Oracle提供程序"或其他类似的驱动程序.如果您正在使用ADO(非.Net,它位于OLEDB上),那么这将是首选驱动程序.
它们还有一个ODBC驱动程序 (例如)可用于从Oracle数据库中提取到MS-Access或使用不支持OLEDB的应用程序或系统.例如,较旧的Delphi/Oracle或Powerbuilder/Oracle应用程序可能会使用此驱动程序.
Oracle还有一个名为OCI的Oracle特定接口 .如果您使用C语言编写,这是最快的界面,也可以在非Windows平台上运行,但将您的应用程序与Oracle绑定.动态语言绑定(如cx_Oracle for Python)往往是OCI的包装器.
如果您使用.Net,您可能需要ODP.Net,而不是使用.Net提供的OLEDB.这是Oracle提供的标准.Net接口库.
Oracle 有几个JDBC驱动程序.有一个类型2驱动程序,它是OCI的包装程序和一个4类驱动程序,它本地用Java编写,并通过网络直接与服务器通信.如果您正在使用Java,则类型4驱动程序可能是大多数应用程序的最佳选择(您不必安装完整的Oracle客户端),除非您有特殊原因需要类型2驱动程序.