如何为.Net应用程序选择Oracle提供程序?

我试图弄清楚将(现有的)ASP.Net应用程序连接到Oracle数据库以读取其字典信息的最佳方法是什么。

可能性太多了:

  • MS Data Provider for Oracle(需要8.1.7,命名空间System.Data.OracleClient)
  • Oracle Data Provider for .NET(需要9.2,命名空间Oracle.DataAccess)
  • 用于OLE DB的Oracle Provider
  • MSDASQL和ODBC

由于我当前的应用程序使用MSSQL服务器,进一步的选项将是:

  • 链接服务器,通过server..user.object访问
  • 通过OPENROWSET链接服务器

关于SO的类似主题有几个问题,但只有一些人接受了答案。

您对每位车手的体验如何? 它们的优缺点是什么?

当然Oracle推荐ODP.Net。 版本9.2(或更高版本)的要求今天是个问题吗?

我也推荐ODP.NET。 选择最新的提供商( http://www.oracle.com/technology/tech/windows/odpnet/index.html )。 它可以与Oracle 9.2数据库或数据库的较新版本连接。

Oracle数据提供程序非常有限。 您不能使用数组作为示例和用户定义的类型。 为什么微软会为连接Oracle提供良好的支持?

您还可以查看devart提供商: http : //www.devart.com/dotconnect/oracle/ 。 它支持entity framework。

转储OLE DB和ODBC选项,如果您有直接数据访问提供程序,则无需使用OLE DB或ODBC。

我推荐Oracle Data Provider for .NET。

微软刚刚宣布它正在弃用System.Data.OracleClient 。

我认为这给你留下了一些选择(至少):

  • ODP.NET(免费,来自Oracle)
  • DevArt
  • DataDirect的

DevArt还有一个LINQ to Oracle实现,对您来说很有趣。