【问题标题】:Do I have to uninstall oracle unmanaged dataAccess (Oracle.DataAccess) before installing managed ManagedDataAccess (Oracle.ManagedDataAccess)在安装托管 ManagedDataAccess (Oracle.ManagedDataAccess) 之前是否必须卸载 oracle 非托管数据访问 (Oracle.DataAccess)
【发布时间】:2013-11-18 10:25:48
【问题描述】:

我计划从 oracle 非托管数据访问客户端迁移到托管数据访问客户端。现在,我的机器上安装了 ODP.Net,其中包含 DLL - Oracle.DataAccess.dll。但我计划转移到 oracle 最近发布的托管数据访问客户端,其中包含程序集 Oracle.ManagedDataAccess.dll。我是否必须卸载以前安装的 ODP.Net(非托管),然后安装托管客户端?我已经看过安装说明,但我不确定是否需要执行此步骤。任何帮助将不胜感激。

【问题讨论】:

    标签: oracle visual-studio-2012 odp.net-managed


    【解决方案1】:

    新的Oracle.ManagedDataAccess.dll 是一个了不起的东西。只需这样做:

    1. 从您的项目中删除对 Oracle.DataAccess 的现有引用,并从下载的文件夹中添加一个新的 Oracle.ManagedDataAccess.dll:odp.net\managed\common\Oracle .ManagedDataAccess.dll。
    2. 设置它的属性 Copy Local = True,这样它将与您的项目一起部署。
    3.不要忘记在您的代码中添加一个新的“使用”行:using Oracle.ManagedDataAccess.Client;
    4. 您现在可以将项目平台目标更改为 AnyCPU,它会起作用!


    无需再安装任何东西,无需其他客户端,这是某种 oracle 打包的跨平台(64 位和 32 位)dll 客户端,在我花了数小时才弄清楚哪个 dll- s (oci.dll, orannzsbb11.dll, oraociei11.dll, OraOps11w.dll) 需要进入 64 位机器和 32 位机器的项目才能让我的应用程序正常工作...

    【讨论】:

    • 这似乎是一个很好的解决方案,除非您使用 Oracle 的 Membership/Profile/Roles 等提供程序。那些使用 Oracle.Web.dll,它想要恢复到旧的非托管 Oracle.DataAccess.dll。这是一个令人沮丧的发现。
    【解决方案2】:

    要使用托管数据访问驱动程序,您只需要 Oracle.ManagedDataAccess.dll,不需要 oracle 客户端。

    因此,您可以保留安装的非托管客户端(如果您打算使用它)或卸载它,这取决于您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-13
      • 1970-01-01
      • 2011-01-26
      • 2011-03-26
      相关资源
      最近更新 更多