加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

ASP.NET bin目录中的Oracle oci.dll无法删除/不起作用

发布时间:2020-12-16 06:56:52 所属栏目:asp.Net 来源:网络整理
导读:我按照这里的指示: http://splinter.com.au/blog/?p=156尝试使用较新版本的ODP.NET而不安装Oracle 11g客户端.到目前为止,除了重启IIS之外,我都遵循了一切. 然而,这引起了一些问题,我真的很好奇为什么.如果我尝试使用ODP.NET,我遇到了Oracle连接尝试连接时抛
我按照这里的指示: http://splinter.com.au/blog/?p=156尝试使用较新版本的ODP.NET而不安装Oracle 11g客户端.到目前为止,除了重启IIS之外,我都遵循了一切.

然而,这引起了一些问题,我真的很好奇为什么.如果我尝试使用ODP.NET,我遇到了Oracle连接尝试连接时抛出的空白异常(例如ConnectExample.Open()).

但最奇怪的是:我无法删除oci.dll.它说它正在使用中.什么可以使用这个DLL? ASP.NET在Bin目录中使用本机dll时究竟做了什么?我想也许这是涉及oci.dll的东西,但如果我在桌面WinForm应用程序中以类似的方式使用dll,那么oci.dll不会被锁定,我可以自由删除它.

此外,我尝试使用它后,正常的System.Data.OracleClient停止工作.它现在抛出OCIEnvCreate以-1返回的异常.

我将尝试重新启动IIS,并希望这将解决此问题,但我想知道这里发生了什么(如果它可以在不重新启动IIS的情况下解决).有没有人有想法?

编辑:我尝试重新启动IIS,但没有解决问题

编辑#2:我认为我没有很好地提出这个问题,但那是因为我假设重新启动IIS会起作用.现在我只需要知道它为什么不起作用.在谷歌搜索类似的问题我只遇到2个论坛帖子,告诉我确切的问题:Oracle ODP.NET在尝试连接时返回一个空白异常.这是以下链接:

http://kr.forums.oracle.com/forums/thread.jspa?threadID=632296

http://forums.oracle.com/forums/thread.jspa?threadID=549864

上面的韩文链接是最有趣的.他们有一个完整的安装,让我怀疑我的问题不是文件或丢失的文件.我想知道他们的意思是“生产服务器抛出空白异常如果在建立ODP之前调用OCI DLL”?

编辑/更新#3:我们的部门有一个内部网服务器,我今天可以测试.我将所需的dll添加到Bin文件夹中,一切正常,无需重新启动IIS.我不问.我将在此服务器上尝试更多测试,看看我是否可以复制问题

编辑#4(奥德赛继续):我确定oraocci11.dll(C调用接口DLL)最初需要ASP.NET(或ODP.NET库)才能找到11g客户端dll,之后就是oraocci11.dll似乎永远不会再次使用,可以删除.不确定这对我的问题意味着什么,但由于它增加了知识库,我想我会提到它

编辑#5:我将mfc71.dll和msvcr71.dll,2个处理C / MFC的Windows系统文件添加到Bin目录,因为我发现它们是ODP.NET所需要的(或者至少是客户端需要的).这至少使得旧的熟悉的“客户端不兼容”错误.我删除了这两个DLL,确定它回到了上面给出的相同错误.然而,添加它们不会使这些错误消失,所以我将不得不重新重置IIS.

解决方法

而不是(或以及)停止IIS,使用services.msc停止万维网发布服务,然后进行更改.

我们发现,对于asp.net应用程序使用的图形控件DLL,仅仅停止IIS是不够的,因为你无法删除文件(或粘贴等).但是一旦World Wide Web Publishing服务停止,它就可以被删除或覆盖……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读