OleDbConnection 和 OracleConnection 有什么区别?

What's the difference between OleDbConnection and OracleConnection?

比如OleDbConnection v.s OracleConnection, OleDbCommand v.s OracleCommand等等...

我知道 Oracle* 类 适用于 Oracle DB,但 OleDb* 似乎也适用。我在 MSDN 中找不到任何比较。有没有考虑优先使用Oracle*类?它们之间的真正区别是什么?

准确地说,您需要了解 OleDb 适用于 Access 数据库或任何具有 .NET 的 OleDb 提供程序的 database/application。

Oracle* 类 特定于 Oracle。另请注意,OracleClient 是 Oracle 数据库的本地提供程序

如此处所述Difference between oledb provider and oracle client provider(这是一个相当古老的 post 但切中要点)OleDb 提供程序通常提供独立于数据库的层来访问数据库。

Oracle 连接提供程序是特定的,提供优化的访问并绕过 OleDb 提供程序,以实现性能和可伸缩性的改进。