因为 plsql 不支持 64位 oracle 客户端,所以plsql 必须使用 oracle 的 32位 instanclient 包。  解压缩后放一个目录,例如: D:\Oracle\instantclient_10_2

ps: 用 10g 的32位 instantclient 包也可以连接 11g oracle 64位库

1、进 plsql 后,在首选项下设置  oracle home 的地址:D:\Oracle\instantclient_10_2, 同时设置 oci 的位置: D:\Oracle\instantclient_10_2\oci.dll

2、需要在系统的环境变量内设置 tns_admin, 值为 D:\Oracle\instantclient_10_2, 这让 plsql 启动时知道去哪找 tnsnames.ora 文件

3、环境变量还需要设置 nls_lang, 值为 SIMPLIFIED CHINESE_CHINA.ZHS16GBK, 当然这根据你自己的数据库来

一般情况下这样后, plsql 就可以用了

如果此时登陆发现提示 无法解析指定的连接标识符,或类似的语句, 那多半是因为监听程序没设置好了。  默认监听程序的监听列表中不指定具体的oracle 实例是哪个, 碰到这种情况就把具体的监听实例描述加上就好了(红色那段), 具体原因不知道...   配置完后,记得去重启 oracle 的listener 服务。

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:d:\oracle\product\11.2.0\dbhome_1\bin\oraclr11.dll")
    )
   (SID_DESC =
      (GLOBAL_DBNAME = ORCL)
      (ORACLE_HOME = d:\oracle\product\11.2.0\dbhome_1)
      (SID_NAME = ORCL)
   )
)

LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = Tyson-mac)(PORT = 1521))
(ADDRESS = (PROTOCOL = NMP)(SERVER = TYSON-MAC)(PIPE = ORAPIPE))
)
)

注意: 这个位于oracle 11g安装目录下的 listener.ora 文件, 例如:D:\Oracle\product\11.2.0\dbhome_1\NETWORK\ADMIN

而不是 instantclient 下的, 因为oracle 的服务用的,指向的还是那边

==========================

接着再补充:

注意: 最好使用配套的32位 instant, 例如, 服务器是 11.2 64位,则下载 11.2 的 32位版本

另外, 为了让其他32位应用程序使用正常, 需要设置环境变量,具体设置如下:

ORACLE_HOME :是所有需要关联更多oracle 文件时去取的根目录, 如果你错误地设置为了 原先的 instant 的地址,那么你运行 sql plus 之类的程序就会提示错误。实验发现32位程序也需要指向 64 位的oracle根目录才正常(这点为什么没细想)

TNS_ADMIN: 这是取 oracle 服务列表的目录, 设置后,plsql 才能正确列表列出并链接服务器。 所以这可以设置 instant 目录,并把 tnsnames.ora 文件放此目录下

PATH: 这是其他32位应用程序找到 oci 等dll文件的搜索路径,如果不设置自然报错说没有找到组件啥的。所以,需要设置 32位的 instant 目录

NLS_LANG:  这决定了你应用程序所链接的数据库存储的数据是用的什么格式的数据。 一般可设置为:SIMPLIFIED CHINESE_CHINA.ZHS16GBK   如果不设应该默认是的是 unicode, 也就是3位字节存储, 那你应用程序打开后看到的从数据库中调入的数据很可能是乱码

关于oracle 11g 64位与 32位的 plsql、及其他32位应用程序共存的问题的更多相关文章

  1. oracle 11g 64位安装32位客户端和PL/SQL

    转自:http://www.360doc.com/content/14/0602/10/4903283_382949382.shtml   这个你需要安装一个32位的oracle客户端才能使用plsq ...

  2. PLSQL Developer 不能连接 oracle 11g 64位 的解决办法

    http://blog.itpub.net/14184018/viewspace-760730 http://www.cnblogs.com/gulvzhe/archive/2012/08/27/26 ...

  3. c# Oracle 远程连接方式 plsql 连接oracle 11g 64位

    1.本地连接字符串:   string connect = "Data Source=orcl;user=XXX;password=XXX;Persist Security Info=Tru ...

  4. 安装ORACLE 11g 64位 pl/sql无法进入的问题。

    转载自网上的内容: 1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载地址:http://www ...

  5. oracle_安装_win7+64位+Oracle+11g+64位下使用PLSQL+Developer+的解决办法

    1)安装Oracle 11g 64位 2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0) 下载instantclient-basic-wi ...

  6. win8 64位+Oracle 11g 64位下使用PL/SQL Developer 的解决办法

    1)安装Oracle 11g 64位2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)下载 instantclient-basic-win ...

  7. 解决PL/SQL Developer 连接oracle 11g 64位中的问题

    1.错误1:Initialization error could not initialize 电脑上原本就装有oracle 11g 64位,但是PL/SQL却怎么也连接不上,报出" Ini ...

  8. win7+64位+Oracle+11g+64位下使用P…

    1)安装Oracle 11g 64位   2)安装32位的Oracle客户端( instantclient-basic-win32-11.2.0.1.0)   下载instantclient-basi ...

  9. oracle 11g 64位安装sqldeveloper打开不了

    oracle 11g 64位安装sqldeveloper打开不了解决方法: 1.到官网下载对应版本的sqldeveloper. 2.找对应安装路径下的F:\app\Administrator\prod ...

随机推荐

  1. table tricks

  2. python笔记 - day4-之装饰器

                 python笔记 - day4-之装饰器 需求: 给f1~f100增加个log: def outer(): #定义增加的log print("log") ...

  3. git安装步骤

    Git简单使用说明 安装git msysgit是Windows版的Git,从https://git-for-windows.github.io下载,然后按默认选项安装即可(注:安装适合自己电脑版本的g ...

  4. OProfile 性能分析工具

    OProfile 性能分析工具 官方网站:http://oprofile.sourceforge.net/news/ oprofile.ko模块本文主要介绍Oprofile工具,适用系统的CPU性能分 ...

  5. Android HttpClient基本使用方法

    GET 方式 //先将参数放入List,再对参数进行URL编码 List<BasicNameValuePair> params = new LinkedList<BasicNameV ...

  6. tomcat启动出现PermGen space错误

    今天部署项目时,出现了jvm内存溢出的问题,显示PermGen  space错误. 经过不断的努力,终于解决出来了. 步骤如下: 在eclipse中菜单栏run-->RunConfigurati ...

  7. 在网页中弹出qq临时会话

    http://www.54kefu.net/linshi/201202/391.html

  8. Java 多线程Future和FutureTask

    Future表示一个任务的周期,并提供了相应的方法来判断是否已经完成或者取消,以及获取任务的结果和取消任务. Future接口源码: public interface Future<V> ...

  9. python安装MySQLdb驱动

    安装了好几次了,索性几个笔记吧,经常因为返回gcc报错 安装 python-devel包即可

  10. Canvas中鼠标获取元素并拖动技术

    Silverlight拖动,需要Canvas. Canvas管网定义: 定义一个区域,在该区域中可以使用相对于该区域的坐标显式定位子元素. XAML <Canvas ...> oneOrM ...