【问题标题】:Deploy odp.net 11g application in a 10g IIS server enviroment在 10g IIS 服务器环境中部署 odp.net 11g 应用程序
【发布时间】:2011-04-28 12:38:13
【问题描述】:

我使用 oracle 11gR2 客户端开发了一个 C# 3.5 Mvc 1.0 应用程序,该客户端使用 odp .net 2.112.1.0。我想将它部署在我的 IIS7 服务器中,该服务器具有使用 odp.net 2.102.2.20 的 oracle 客户端 10g。我收到以下错误

无法加载文件或程序集 'Oracle.DataAccess,版本=2.112.1.0, 文化=中性, PublicKeyToken=89b483f429c47342' 或 它的依赖项之一。系统 找不到指定的文件。

我尝试将 11g Oracle.DataAccess.dll 复制到我项目的 bin 文件夹中,然后出现以下错误

类型初始化器 'Oracle.DataAccess.Client.OracleConnection' 抛出异常。

【问题讨论】:

    标签: c# iis-7 oracle11g odp.net


    【解决方案1】:

    最简单的方法是使用Xcopy Deployment 安装 oracle odp.net 包 11.2.0.1.2。这将安装一个即时客户端,请查看 readme.txt 以获取安装说明。
    但我发现当前的 xcopy 包不支持 11 月到期的 64 位。解决方法是为 x86 目标平台构建您的程序集。这仅适用于部署到 Windows Server 2008 x64 的情况。 仅复制 Oracle.DataAccess.dll 是不够的。

    【讨论】:

    • 是的,我的 IIS 服务器在 2008 x64 上运行。我将尝试 xcopy 部署并通知您
    • 还有一件事,我的 10g 客户端是否会受到影响,因为服务器上还有其他网站是使用 odp.net 2.102.2.20 构建的。
    • 不应该,但对于生产场景,您应该有一个类似的暂存环境来测试它。实际上,我相信它会在 GAC 中安装策略程序集,将所有对早期版本(2.102.2.20)的调用重定向到新版本。从理论上讲,这应该没问题,但您应该对其他网站进行基本的回归测试才能确定。
    猜你喜欢
    • 2020-04-02
    • 2016-04-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多