经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Oracle » 查看文章
Oracle 32位和64位版本之间的问题
来源:cnblogs  作者:超级猪  时间:2021/1/11 9:29:56  对本文有异议

先前遇到了一系列的问题,结果把32位和64位的Oracle都装进来了。

但由于项目的dll使用的是32位的,用64位的Oracle在运行时会出现        “未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。”     这个错误。

而改用32位Oracle后,开启PLSQL时又出现了   “error while trying to retrieve text for error ORA-01804”   这个错误,导致无法连接数据库。

解决方法:

     32位和64位的Oracle都装了(不知道有没有影响,实际上在后面配置环境变量时只使用到了32位的Oracle,但事实证明PLSQL连接数据库需要64位的Oracle)

     关键来了,之前按照网上的方法配置环境变量,结果在项目运行时和PLSQL连接数据库时总有其中一个会出现上面说的错误。

     最后,问题还是回到了环境变量上,因为项目是32位的dll,所以配置时,路径都是用的32位的Oracle,这时,项目运行没有问题,但用PLSQL连接数据库时会出现  “error while trying to retrieve text for error ORA-01804”  这个错误,我的解决方法:将  “ORACLE_HOME”  这个环境变量删除即可。

 

     Ps:

         出错原因推测:原本 “ORACLE_HOME” 的变量值为  “D:\app\Administrator\client\Administrator\product\12.1.0\client_1\network\admin”  这是指向32位Oracle的路径,导致我使用的PLSQL连接数据库时出错。而先前使用指向64位Oracle的路径时,我的PLSQL能够正常连接数据库。我猜测在删除环境变量  “ORACLE_HOME”  后,PLSQL会自动寻找合适的Oracle版本使用(同时装了64位Oracle也许是伏笔?)。

   如果按上述方法PLSQL连接数据库时还是报这个错,就尝试将环境变量  “ORACLE_HOME”  的变量值改为指向64位Oracle的路径(我的是“D:\app\client\Administrator\product\12.1.0\client_1\network\admin” )。

               附上我的环境变量配置:

          Path:  D:\app\Administrator\client\Administrator\product\12.1.0\client_1\BIN

 

原文链接:http://www.cnblogs.com/superpig2/p/14239770.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号