将C#连接到Oracle

zen*_*dar 12 c# oracle

将C#(.NET)应用程序连接到Oracle 10g和11g的最佳库/驱动程序是什么.
我找到的当前选项是:

  1. 数据库安装附带的Oracle客户端
  2. Oracle Instant Client(由于操作系统数量为6-8个版本,因此有点令人困惑)
  3. Microsoft ODBC?(这可以用吗?)
  4. ODP.Net - 是这个单独的产品还是包含在1.和2.?

有人可以解释一下差异吗?

我正在计划将在Oracle数据库上执行基本CRUD操作的C#应用​​程序.哪个库/驱动程序最小且最容易安装?

编辑:
一般建议是使用ODP.Net.现在,有人可以解释或指出回答客户端安装包之间的差异.我为Oracle 11g找到了3个不同的客户端:

那么,哪一个足够发展?Oracle文档非常详细,但没有说明这些客户端软件包之间的差异.我会选择最小的(即时客户端).这是最好的选择吗?

编辑2:
我正在使用.Net 3.5

Dar*_*rov 7

微软将弃用System.Client.OracleClient,所以我认为这将是最好用的命名空间ODP.NET.确保下载最新版本(ODP.NET 11g),因为以前的版本存在一些问题.


Chr*_*467 5

要将C#连接到oracle,您需要.net的数据提供程序.这可以是以下之一:

  • ODP.Net(Oracle)
  • System.Data.OracleClient(微软)
  • ODBC(Oracle)
  • OLEDB(Oracle)
  • 适用于Oracle的DataDirect ADO.NET数据提供程序(DataDirect)
  • 可能是其他一些提供者

所有这些数据提供者都需要安装oracle客户端.没有独立的库作为jdbc14.jar,就像在java中一样.您有2个选择部署oracle客户端:

  • 完整客户端(可能来自数据库安装)
  • 即时客户

ODP.Net,ODBC,OLEDB是完整客户端的一部分.这是"硬"方式,因为必须在运行软件的每个客户端上运行安装过程.这是客户端上最多兆字节的位置.
即时客户端在不同的软件包提供.这是部署oracle客户端的最小方式.

我建议将ODP.Net与Oracle Instant Client一起使用,因为这样易于部署且重量非常轻.

您需要哪些即时客户端软件包:

  • 选择版本11.1.0.6.0(或提供ODAC的更新版本)
  • Instant Client Package - 基本(如果您需要完整的语言支持)
  • 即时客户端软件包 - ODAC

关于使用c#应用程序部署oracle即时客户端的stackoverflow上有很多文章.

编辑:更新的链接和版本