zoukankan      html  css  js  c++  java
  • 【Oracle错误集锦】:PLSQL无法直连64位Oracle11g数据库

    背景:Oracle数据库装在本机上,使用PLSQL连接。

    今天安装完Oracle 11g数据库后。用plsql连接数据库死活都连接不上。而且plsql客户端登录窗体的Database下拉框还为空。见下图:

    这里写图片描写叙述

    Oracle服务和监听已经开启,而且检查了相关的配置都没有问题。

    后来去网上搜索了下,发现有人说plsql不能直接连接64位 Oracle 11g数据库。

    由于plsql是32位的。要想连接64位的数据库还须要安装一个32位的Oracle客户端。。

    记得曾经使用Oracle10g 数据库的时候就没有这个事啊,用plsql就能够直接连接数据库。


    解决方式:


    1、下载Oracle客户端:instantclient-basic-win32-11.2.0.1.0.zip (点击下载Oracle32位客户端),将其解压至Oracle安装文件夹的Product下:

    D:appNiuNiuproductinstantclient_11_2。


    2、复制文件:将数据库安装文件夹D:appNiuNiuproduct11.2.0dbhome_1NETWORKADMIN 下的tnsnames.ora文件复制到客户端文件夹里。


    3、配置PLSQL Developer:

    在Tools-》perference-》Connection里面设置Oracle_Home和OCI Library。比如本机设置为:

    Oracle Home :D:appNiuNiuproductinstantclient_11_2
    OCI Library :D:appNiuNiuproductinstantclient_11_2oci.dll

    这里写图片描写叙述


    4、环境变量设置:

    改动变量:在Path里加入:D:appNiuNiuproductinstantclient_11_2 ;
    新建变量:名为”TNS_ADMIN”, 值为”D:appNiuNiuproductinstantclient_11_2;”
    新建变量:名为”NLS_LANG”, 值为”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,


    按以上步骤配置完成后进行測试。

    (最好又一次启动一下电脑)
    登陆成功!

    这里写图片描写叙述


    答疑解惑


    为什么要配置”NLS_LANG”变量?

    不加入这个变量,在使用数据库加入数据的时候。表格中的中文会变成乱码,这是由于咱们的数据库是64位的。而操作软件PLSQL_Developer是32位的。也就是说你用PLSQL_Developer编写的中文是符合32位的字符集,而数据库仅仅能正确储存是64位的中文字符集。这导致了写和读不是一种字符集,终于导致中文变成问号或乱码。

  • 相关阅读:
    MongoDB 安装和即基本操作
    技术型创业者easy遇到的三大问题
    Swoole源代码学习记录(十五)——Timer模块分析
    利用NSInvocation对方法进行抽象,实现对方法的加锁
    Atitit.hibernate体系结构大总结
    HDU
    程序猿工作效率的影响因素和管理者怎样推断
    Linux下tomcat使用
    [1204 寻找子串位置] 解题报告
    Team Foundation Server 2013 with Update 3 Install LOG
  • 原文地址:https://www.cnblogs.com/zhchoutai/p/8394838.html
Copyright © 2011-2022 走看看