【问题标题】:Scope of OraOLEDB.Oracle provider and OledbConnection with c# applicationOraOLEDB.Oracle 提供者和 OledbConnection 的范围与 c# 应用程序
【发布时间】:2015-07-18 07:33:34
【问题描述】:

我的 c# 4.0 .netframework 应用程序需要支持与从 9i 版本到 12c 的 oracle 数据库的连接。我打算使用 OraOledb.Oracle 提供程序并使用 system.data.oledb 连接来建立与 oracle 的连接。该应用程序将仅限于从视图和表中执行选择查询。我的目标是有一个 exe 来处理不同 oracle 数据库的要求。我对某些事情有一些疑问,想在开始之前清除它们

  1. 如果我使用 oledbconnection 和 oraOledb 提供程序,我的 c# 应用程序会受到一些限制吗?

  2. 它是否支持安装在客户端位置的所有版本的 oracle 客户端和数据库?

  3. 我的应用程序是否需要在特定平台(例如 x86、x64 或任何 cpu 以支持 32 位和 64 位 windows 7 电脑)进行编译?

如果还有什么我应该考虑的,请帮助我。

【问题讨论】:

    标签: c# .net oracle


    【解决方案1】:
    1. 我不这么认为。 OraOledb.Oracle 提供程序应该能够连接到从 9i 到 12c 的任何 Oracle 数据库。

    2. 嗯,看答案 1 和 3

    3. 主要取决于安装的Oracle Client的架构。如果您的客户端 PC 安装了 x86(32 位)Oracle 客户端,那么您必须编译为 x86。如果是 64 位 Oracle 客户端,您必须编译为 x64AnyCPU 表示在 64 位 Windows 上必须安装 64 位 Oracle 客户端。还建议您的客户安装 Oracle OleDB 提供程序,它不是 Oracle Instant 客户端的一部分,您必须在 OUI(Oracle Universal Installer)中启用该功能或​​手动安装。

    你看,有很多潜在的问题。考虑使用ODP.NET Managed Driver,它会让您的工作更轻松。只需在您的应用程序目录中提供Oracle.ManagedDataAccess.dll 的副本即可。

    编译成x86x64AnyCPU也没关系。

    【讨论】:

    • 我得到了第 3 点。这是否意味着我必须始终有 2 个 exe 来支持不同的操作系统平台。是否有可能使用单个 exe 来管理这种情况?
    • 您必须提供两个不同的 exe。但是支持不同的操作系统平台不是问题,而是支持安装的不同的Oracle客户端。您可以在 Windows 64 位上安装 32 位 Oracle 客户端,没有任何问题。在这种情况下,您的客户必须使用您的 x86 应用程序。
    • 如果我使用 Oracle.ManagedDataAccess.Client dll,我是否也需要在客户端机器上安装它
    • 没有什么要安装的,只提供一个简单的dll文件副本
    猜你喜欢
    • 2022-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-04
    • 1970-01-01
    • 2016-07-13
    • 1970-01-01
    • 2018-05-17
    相关资源
    最近更新 更多