在使用Oracle的WEB ADI加载数据时,出现ORA-06508:无法再调用之前找到程序单元
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在使用Oracle的WEB ADI加载数据时,出现ORA-06508:无法再调用之前找到程序单元相关的知识,希望对你有一定的参考价值。
确定oracle安装时完整的,而且之前用同样的方法已经做过第一个接口,但是在做第二个接口时就一直出错
在程序刚开始运行时,所有的被依赖对象都是VALID的,不然会无法运行。在其运行过程中,被依赖的某对象变为INVALID的了,当程序运行到与INVALID状态对象有关语句时,就会抛出ORA-06508异常。 可能你的接口在调用的过程中,别的程序也在调用接口相关的内容,可能导致你的接口出现了问题。 参考技术A 估计是哪里没有加载好 或许应该重新完整的安装 参考技术B 确认Oracle版本安装的完整?再次解决 尝试加载 Oracle 客户端库时引发 BadImageFormatException
依旧是32位和64位的问题,解决思路其实还是要保证生成程序是32位程序且Oracle客户端访问使用32位的即可。
环境是WIN10+ VS2017+ORACLE 11G 32客户端 +orcle未知版本数据库
主要尝试了几个地方:
1、VS 修改了 Web里面的服务器,将服务器修改成了“本地IIS”,主要是不知道系统自带的IIS Express运行是以什么应用池版本运行的。用本地IIS可以在IIS管理器上将虚拟目录的应用池控制为32位运行。但是事实证明,我解决了此问题后再把服务器切回 IIS Express依旧可以运行。此尝试可能毫无意义。
2、调整环境变量
这个在之前一次解决这个问题时就是使用的这个方法,绝大部分网上也是这个方法解决的。最关键的是要找到正确的OCI路径。这个有个小技巧就是一般如果有第三方ORACLE管理工具如:PLSQL或者NaviCat时可以从这些工具中找到可以使用的OCI路径。
另外在用户环境变量底下增加了一个 ORACLE_HOME 变量路径和PATH变量相同。
改完尝试依旧无法使用。
最后使用重启大法后,再次尝试就好了。应该是PATH这些环境变量修改后没有生效重启后生效所致。
以上是关于在使用Oracle的WEB ADI加载数据时,出现ORA-06508:无法再调用之前找到程序单元的主要内容,如果未能解决你的问题,请参考以下文章
MS EXCEL2013添加Oracle Web ADI菜单
尝试加载 Oracle 客户端库时引发 BadImageFormatException。如果在安装 32 位 Oracle 客户端组件的情况下以 64 位模式运行,将出现此问题。
“尝试加载 Oracle 客户端库时引发 BadImageFormatException”的解决方案
.NET 3.5 未能加载文件或程序集“Microsoft.Web.Infrastructure”(解决后追加50-200悬赏)