【问题标题】:Alternative Oracle drivers for .net.net 的替代 Oracle 驱动程序
【发布时间】:2010-10-04 11:59:04
【问题描述】:

我必须用 C# 开发一个从 Oracle 数据库中检索一些数据的工具。由于我们的 IT 支持在安装 Oracle 客户端时遇到了一些问题,我希望能够在不安装客户端的情况下连接到数据库。 我们的想法是在应用程序中安装(并可能注册)一个额外的库。

存在哪些 Oracle 客户端的替代方案,它们的优缺点是什么?

这是针对小型应用程序(1 个表单,2 或 3 个查询,结果显示在 DataGrid 中,可能不超过 10-20 个数据集),但我也对可伸缩性问题感兴趣,因为我们也可能会移动远离 Oracle 客户,拥有更大的未来项目。

当然,免费软件解决方案会很好,但我们不限于此。

【问题讨论】:

    标签: c# oracle database-connection


    【解决方案1】:

    Oracle 目前有一个完全托管的 ODP.NET 版本,允许开发人员在仅引用单个 DLL 的同时连接到 Oracle 数据库。还有更多信息here

    可以在here找到当前版本。

    【讨论】:

    • 谢谢你,尽管这个发展对我来说已经晚了大约 4 年......但我确信我会在我的生活中再次遇到 Oracle ;-)
    • 哈哈,好吧,希望这能帮助其他从 Google 看到这篇文章的人
    【解决方案2】:

    Oracle ODP.Net driver 有几种不同的风格。您尝试使用哪个版本?

    听起来您想要带有 Xcopy 部署的 Oracle 11g ODAC 11.1.0.6.21,它允许您通过复制几个 DLL 并注册它们来部署 Oracle Instant Client 和 ODP.Net 驱动程序。这不需要完整的 Oracle 客户端安装。

    【讨论】:

    • 没错。我们公司的网络很混乱,没有跟踪安装在哪里。我想确保该应用程序将在安装它的所有计算机上运行,​​而无需确定已安装的 Oracle 客户端并请求 IT 对其进行升级并等待他们解决...
    【解决方案3】:

    无需任何第三方软件即可完成您的任务:

    1. 在您的开发框中安装Oracle Data Access Components 11g。 ODAC 11g 向后兼容 9i 和 10g
    2. 在您的 .NET 项目 (Oracle.DataAccess.dll) 中添加对 ODAC 库的引用。
    3. 允许您的应用程序在不使用 TNSNAMES.ORA 的情况下进行连接。为此,您必须在连接字符串中包含连接描述符:

      "用户id=scott;密码=tiger;数据源="+ “(描述=(地址=(协议=tcp)”+ "(HOST=sales-server)(PORT=1521))(CONNECT_DATA="+ “(SERVICE_NAME=sales.us.acme.com)))”

    由于您在连接字符串中包含连接描述符,因此目标计算机中不需要瘦客户端。

    部署愉快。

    【讨论】:

      【解决方案4】:

      企业库客户端 System.Data.OracleClient 是 Oracle 的 ODP.NET 提供程序的可行替代方案。不过,您应该知道一些警告,使用 Microsoft 客户端将使处理任何类型的大型对象变得极其困难,无论它们是 XML 字符串、CLOB、LOB 还是 BLOB。此外,不支持 Oracle XmlType 列,必须将其强制转换为 CLOB 才能返回到 OracleClient。

      【讨论】:

      • 如果您确实需要使用 LOB,我写了一篇关于该主题的博客文章:dotnetchris.wordpress.com/2008/04/10/…IMO 这是最好的可行解决方案,只需确保您有连接池可以使用它。
      • 取自 MSDN for System.Data.OracleClient:“您还必须安装 Oracle 8i 客户端或更高版本。”正是我想要避免的,恐怕......
      • OracleClient 现在也被 MS 弃用了。
      猜你喜欢
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-16
      • 2020-06-05
      相关资源
      最近更新 更多