Oracle 32位和64位版本之间的问题

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

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

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

解决方法:变量

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

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

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

 

     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” )。im

               附上个人环境变量配置:

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

相关文章
相关标签/搜索