我开发了一个基于.Net C#的网站,它主要依赖于甲骨文数据库。为了访问DB,我一直在使用Oracle ODAC 11G。(Oracle.DataAccess.dll版本: 1.111.6.10)
当我在本地运行它进行测试时,这个网站运行得很好(Ctrl + F5 on VS 2013)。但是,在本地发布它(我的PC运行IIS)之后,我遇到了一个有线错误:“提供程序与oracle版本不兼容”。
我已经确定应用程序设置为在iis控制台中以32位模式运行。但是我仍然不知道为什么当我从视频工作室运行这个网站时,当我发布它的时候,它就不能工作。
发布于 2017-12-21 13:50:04
仔细检查(!)目标计算机上安装了哪个版本的Oracle客户端。
Oracle.DataAccess.dll相同的体系结构(例如32位或64位)?我推荐西格查克工具,即
cd %ORACLE_HOME%
sigcheck -s oraociei*.dll
sigcheck -s OraOps*w.dll还请检查加载了哪个文件Oracle.DataAccess.dll。它可能是从GAC加载的(默认情况下GAC优先),而不是您提供的文件。只需找出哪个DLL已经像这样加载了:
var con = New OracleConnection();
Console.WriteLine(con.GetType().Assembly.FullName);
Console.WriteLine(con.GetType().Assembly.Location);https://stackoverflow.com/questions/47925534
复制相似问题