【问题标题】:asp.net application not connecting to oracle 11g even after installing oracle instant client for 11g即使在为 11g 安装了 oracle 即时客户端后,asp.net 应用程序也无法连接到 oracle 11g
【发布时间】:2015-07-25 16:14:31
【问题描述】:

我有一个使用 oracle 11g 数据库的 asp.net mvc 应用程序。在开发机器中,一切正常,但在生产服务器中部署时,asp.net 应用程序无法连接到数据库服务器。它总是抛出一个空异常。

我还编写了一个简单的控制台应用程序来测试数据库连接。它也不起作用。然后我意识到这是因为机器没有安装oracle客户端。所以我为 11g 数据库 32 位版本安装了 Oracle 即时客户端。在此之后,控制台应用程序开始工作,但 Web 应用程序仍然无法连接。

我google了很多,最后决定使用进程监视器进行分析。在进程监视器中,我发现 Web 应用程序 (iis) 正在寻找 oraclient12.dll。

这个 oracle12.dll 是 12c 数据库的 oracle 客户端的一部分。我不明白它为什么要寻找这个 dll。

在为 12g 安装 oracle 数据库客户端后,上面的 oraclient12.dll 问题得到了修复。但 iis 现在无法找到 oraclsce12.dll。 我在整个文件系统中搜索了这个文件,但找不到。

有谁知道我应该安装什么来获取 oraclsce12.dll。

谢谢, 苏吉特

【问题讨论】:

  • @Sachu 我试过了。在该控制台应用程序开始工作但不是 Web 应用程序之后。
  • 抱歉我错过了..删除我的评论
  • catch 部分没有异常?
  • 没有错误信息,没有错误号只有堆栈跟踪..
  • :o 可以把代码部分放在这里

标签: c# oracle oracle11g odp.net oracle12c


【解决方案1】:

我遇到了类似的问题,然后才知道要安装 dll,您现在还应该安装选项 «Oracle Advanced Security»,,通过在安装 oracle 12 时选择自定义安装客户。我做了同样的事情,我的问题得到了解决。你可以试试这个,看看你的问题是否得到解决。

感谢苏达桑

【讨论】:

  • 为我工作。谢谢!
  • 也为我工作。目前这是oraclsce12.dll 的最高 Google 搜索结果
【解决方案2】:

这被记录为 Oracle bug 17379890

Oracle 提供了两种解决方法:

解决方法包括:

为了避免这个问题,在安装过程中明确选择“Oracle NET”组件

事后可以

  1. 在同一个主目录中进行另一个自定义安装,然后选择“Oracle NET”
  2. 将 ORACLSCE12.DLL 从现有安装复制到 OH\bin 也可以解决此问题。

但是,制作文件ORACLSCE12.DLL 的单个副本是不够的,因为还有更多文件丢失。该解决方法仅适用于某些应用程序。例如对于tnsping.exe,由于缺少文件,您仍然会收到错误消息。

您必须采取第一种解决方案,即在安装过程中明确选择“Oracle NET”组件

【讨论】:

    猜你喜欢
    • 2012-01-16
    • 2015-12-10
    • 2021-03-02
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多