System.DllNotFoundException:发布到 IIS 时无法加载 DLL 'oci'



我有一个.NET核心应用程序,我必须使用system.data.oracleclient.dll与Oracle DB。

连接

当我在VS2017中运行此操作时,一切都起作用,但是当我发布并尝试运行连接到数据库的部分时,我会收到一个错误:

system.dllnotfoundexception:无法加载dll'oci':找不到指定的模块。(Hresult的例外:0x8007007E)

我是否错过了某种IIS模块?我在同一个人中有x64位甲骨文。

可能是您缺少ocicalls类调用的本机代码, 也许是一些本地dll或类似的人,或者找不到它 在它正在寻找的地方,无论如何,您都可以使用汇编绑定日志查看器进行调试 查看其探测位置和缺少的内容。

对我来说,最终帮助了步骤:

  1. 从(http://www.oracle.com/technetwork/database/database/features/instant-client/index-097480.html)获取x86 oracle instant client
  2. 将即时客户端文件夹添加到第一个位置的环境路径,以便它将在所有其他Oracle路径之前。
  3. 重新启动机器。

最新更新