【问题标题】:ASP.NET MVC Applicatoin - Downgrading Oracle client versionASP.NET MVC Applicatoin - 降级 Oracle 客户端版本
【发布时间】:2016-02-18 10:58:49
【问题描述】:

在这里遇到问题。我们在开发环境中开发了一个 asp.net mvc 4 应用程序,我相信它具有 oracle 客户端 v12.1 和使用 v 11.2 的测试环境。

当我们部署应用程序进行测试时,我们会收到此错误

我们无法在测试环境中安装更高版本,所以问题是,是否有一种简单的方法可以将开发环境降级回 v11.2,以及我必须对 . NET 方面,是否会有一些程序集引用更改等?我不认为 ODP.NET 的任何新功能与 v11.2 不兼容

这是我第一次接触 Oracle,如果其中一些没有意义,敬请见谅。

【问题讨论】:

    标签: c# asp.net asp.net-mvc oracle oracleclient


    【解决方案1】:

    您是否尝试过在 web.config 上使用绑定重定向?有一个类似的问题here,你可以找到MSDN doc here

    您可以将其添加到测试环境 web.config 以将所有使用版本 12 的引用重定向到使用版本 11,但我只会将其用作临时修复。您应该升级测试环境或降级开发环境,并且这些应该与生产环境相匹配以避免意外问题。

    【讨论】:

    • 感谢您的建议,我将尝试绑定重定向。关于降级开发环境。这有多简单?很抱歉问,但我对这一切都很陌生。降级客户端版本然后重新编译是否可行?
    • 对于降级,您需要在该环境中安装旧版本并更新项目中的引用以指向该版本。通常,您可以从 Visual Studio 中的对象浏览器轻松验证引用的版本(只需展开引用列表,右键单击引用并选择在对象浏览器中查看)。
    • 我像你说的那样尝试了绑定重定向 inetpub\wwwroot\xxx\bin 中的 Oracle.DataLayer.dll 为 v4.121.10,C:\oracle\11.2.0\client_1\odp 中的 dll。 net\bin\4 是 v4.112.2.0。然而我现在收到一条错误消息:TNS:无法解析指定的连接标识符
    • 我已经有一段时间没有使用 Oracle 驱动了,但是看这里docs.oracle.com/cd/B19306_01/server.102/b14219/net12150.htm 似乎是连接字符串的问题。您是否在连接字符串中使用了仅在新版本驱动程序中支持的内容?