【问题标题】:Visual Studio 2012. ---> System.DllNotFoundException: Unable to load DLL 'OraOps12.dll': The specified module could not be foundVisual Studio 2012。---> System.DllNotFoundException:无法加载 DLL 'OraOps12.dll':找不到指定的模块
【发布时间】:2016-09-06 12:16:06
【问题描述】:

我在 Visual Studio 2012 中导入了一个 C# 项目。它引用了 Oracle.DataAccess。当我运行该项目时,我得到了一个例外。这是我可以从调试中得到的结果。

ex = {System.TypeInitializationException: The type initializer for 'Oracle.DataAccess.Client.OracleConnection' threw an exception. ---> 

System.DllNotFoundException:无法加载 DLL 'OraOps12.dll': 指定的模块无法找到。 (来自 HRESU 的例外......

我不知道它在哪里寻找这个 DLL。我已经安装了 ODT。引用的 Oracle.DataAccess.dll 文件位于:

E:\app\client\serban.stoenescu\product\12.1.0\client_1\odp.net\bin\4。

OraOps12.dll 文件位于:

E:\app\client\serban.stoenescu\product\12.1.0\client_1\bin

知道发生了什么吗?我如何找出程序在哪里寻找这个 DLL?知道是否可以找出是否存在嵌套异常吗?

谢谢, 塞尔维亚

【问题讨论】:

  • 您确定在运行 Visual Studio 的机器上安装了 Oracle 客户端吗?

标签: c# oracle visual-studio-2012 dll odp.net


【解决方案1】:

也许您可以尝试使用 Sysinternals Process Monitor,它可能会给您一些见解?

您似乎已经安装了 ODP.NET,也许您需要安装:Microsoft Visual C++ 2010 Redistributable Package (x64) 或 (x86)。

Process Monitor showing missing MSVCR100.dll

如果您通过此操作并在 OracleConnection.Open() 上看到 NullReferenceException,那么您需要设置客户端的路径(oraons.dll 所在的位置,请参阅 Connect to an Oracle database)

【讨论】:

    【解决方案2】:

    确保已安装 Oracle 客户端。 Oracle Dll 有 32 位和 64 位版本。所以请确保项目中使用了正确版本的文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2022-01-10
      • 2023-02-22
      • 1970-01-01
      • 1970-01-01
      • 2017-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多