如何为.Net应用程序选择Oracle提供商?
-
22-08-2019 - |
题
我试图找出将(现有)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 提供程序
- 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 数据库或更新版本的数据库连接。
MS Data Provider for Oracle 的功能非常有限。例如,您不能使用数组和用户定义的类型。为什么微软会为连接Oracle提供良好的支持?
您还可以查看 devart 的提供者: http://www.devart.com/dotconnect/oracle/ 。它支持实体框架。
其他提示
转储 OLE DB 和 ODBC 选项,如果您有直接数据访问提供程序,则无需使用 OLE DB 或 ODBC。
我推荐 Oracle Data Provider for .NET。
微软刚刚宣布 弃用 System.Data.OracleClient.
我认为这给你留下了一些选择(至少):
- ODP.NET(免费,来自 Oracle)
- 开发艺术
- 数据直接
DevArt 还有一个 LINQ to Oracle 实现,您可能会感兴趣。
不隶属于 StackOverflow