adodb和oledb有什么区别?
Adodb (ActiveX Data Objects DB)是OLE DB上的API层。它适用于基于MS的数据库,如Sql Server,提供一致的API和优化。这就是说,您可以使用ADODB与非MS数据源连接,但这意味着您需要OLEDB/ODBC提供程序作为数据源。
简而言之,要连接到任何数据源,您需要一个驱动程序。这里有几个常见的场景想想:
- ADODB的数据源有ODBC驱动程序只 - ADODB会使用ODBC OLEDB提供程序,加载ODBC驱动程序,然后连接到数据源。
- ADODB数据源与OLEDB驱动程序(如SQL Server) - ADODB使用OLEDB提供程序的SQL Server直接与数据库交谈。
Oledb (Object Linking and Embedding DB)是大量dbs支持的标准格式,因此您可以使用Oledb连接到oracle,db2等。您也可以直接使用OLEDB连接到Sql Server,但与经过优化可与Sql Server和MS Access配合使用的adodb连接相比,API更为混乱。
ADO.Net是基于.Net的db连接“体系结构”。在ADO.Net中有一个Oledb库 - System.Data.OledbClient。 Adodb已被替换/升级,并且ADO.Net现在将System.Data.SqlClient库用于基于MS的数据库/数据提供程序。
你可能错过了一些东西,'Oledb'可以连接到msaccess。我经常使用这个 – Smith 2012-12-17 08:43:27
是的。是MS Access仍然在大声笑:) – 2013-01-04 19:32:14
这是非常误导。ADO是OleDB之上的API,可以与任何提供OleDB驱动程序的数据库一起使用,而不仅仅是来自Microsoft的。 – 2016-05-05 23:22:56
- ADO是一个用于访问数据库的基于COM的库。
- OleDB和ODBC是与数据库通信的标准。
- ADO使用OleDB与任何暴露OleDB驱动程序的数据库通信。
- 还有一个OleDB驱动程序可以包装任何ODBC驱动程序。因此,ADO还可以与任何公开ODBC驱动程序的数据库通信。
- ADO.NET(又名System.Data)是用于访问数据库的一个基于.NET的库。
- ADO.NET有内置的支持为SQL Server,OLEDB和ODBC
- 第三方可以公开他们的数据库通过建立一个ADO.NET兼容库ADO.NET
- 第三方也可能会暴露他们的数据库到ADO.NET通过提供OleDB或ODBC驱动程序
可能重复[OleDB与SQLClient的优点和缺点?](http://stackoverflow.com/questions/473932/what-are-the -op-and-cons-of-oledb-versus-sqlclient) – nawfal 2013-02-20 10:30:09