首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将C#与Oracle连接起来

将C#与Oracle连接起来
EN

Stack Overflow用户
提问于 2009-10-26 18:48:02
回答 6查看 15.6K关注 0票数 12

将C# (.NET)应用程序连接到Oracle10g和11g的最佳库/驱动程序是什么?

我发现的当前选项如下:

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

有人能解释一下差异吗?

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

编辑:

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

  • 作为数据库安装的一部分而提供的Oracle客户端-客户端驱动程序包
  • ODAC - Oracle数据访问组件包含了很多东西,其中包括ODP.Net和Oracle客户端。
  • Oracle即时客户端,它还包含许多东西,包括ODP.Net

那么,其中哪一个对发展来说就足够了?Oracle文档非常详细,但对这些客户端包之间的差异却只字未提。我会选择最小的(即时客户)。这是最好的选择吗?

编辑2:

我使用的是.Net 3.5

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-29 14:56:41

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

  • ODP.Net (甲骨文)
  • System.Data.OracleClient (微软)
  • ODBC (Oracle)
  • OLEDB (Oracle)
  • 甲骨文DataDirect ADO.NET数据提供者(DataDirect)
  • 可能是其他提供者

此数据提供程序的所有都需要安装一个oracle客户端。在java中,没有jdbc14.jar那样的独立库。您可以选择部署oracle客户端:

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

ODP.Net、ODBC、OLEDB是完整客户端的一部分。这是一种“困难”的方法,因为安装过程必须在运行软件的每个客户端上运行。这是在客户端放置最多兆字节的位置。

即时客户端在不同的包中提供。这是部署oracle客户端的最小方法。

我建议在Oracle客户端中使用ODP.Net,因为这很容易部署,而且重量非常轻。

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

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

关于使用c#应用程序部署oracle即时客户端,有很多关于堆栈溢出的文章。

编辑:更新的链接和版本

票数 5
EN

Stack Overflow用户

发布于 2009-10-26 18:58:58

微软将不赞成 System.Client.OracleClient命名空间,所以我认为最好使用ODP.NET。请确保下载最新版本(ODP.NET 11g),因为以前的版本有一些问题。

票数 7
EN

Stack Overflow用户

发布于 2009-10-26 19:11:06

ODP.NET是访问Oracle的最佳提供程序,主要是因为它是最原生的提供程序,它与ODBC的区别如下:

  • 性能更好
  • ODP.NET提供了对高级甲骨文功能的访问,而不是通过ODBC .NET提供的。
  • ODP.NET不使用额外的数据访问桥。

ODBC也可以使用,但如前所述,它的速度会更慢,功能也有限。

为了使ODP.NET工作,您需要下面列出的软件(包括oracle ):http://www.oracle.com/technology/tech/windows/odpnet/faq.html#install

希望这能有所帮助!

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1626636

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档