繁体   English   中英

即使为11g安装了Oracle Instant Client,asp.net应用程序也未连接到oracle 11g

[英]asp.net application not connecting to oracle 11g even after installing oracle instant client for 11g

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

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

我用谷歌搜索,最后决定使用过程监视器进行分析。 在进程监视器中,我发现Web应用程序(iis)正在寻找oraclient12.dll。

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

在此处输入图片说明

在为12g安装oracle数据库客户端之后,oraclient12.dll的上述问题已解决。 但是iis现在无法找到oraclsce12.dll。 我在整个文件系统中搜索了该文件,但找不到。

有谁知道我应该安装什么才能获得oraclsce12.dll。

在此处输入图片说明

谢谢苏吉思

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

感谢Sudharsan

这被记录为Oracle 错误17379890

Oracle提供了两种解决方法:

解决方法包括:

为了首先避免该问题,请在安装过程中明确选择“ Oracle NET”组件

事实之后,您可以

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM