背景: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:\app\NiuNiu\product\instantclient_11_2。


2、复制文件:将数据库安装文件夹D:\app\NiuNiu\product\11.2.0\dbhome_1\NETWORK\ADMIN 下的tnsnames.ora文件复制到客户端文件夹里。


3、配置PLSQL Developer:

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

Oracle Home :D:\app\NiuNiu\product\instantclient_11_2

OCI Library :D:\app\NiuNiu\product\instantclient_11_2\oci.dll


4、环境变量设置:

改动变量:在Path里加入:D:\app\NiuNiu\product\instantclient_11_2 ;

新建变量:名为”TNS_ADMIN”, 值为”D:\app\NiuNiu\product\instantclient_11_2;”

新建变量:名为”NLS_LANG”, 值为”SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,


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

(最好又一次启动一下电脑)

登陆成功!


答疑解惑


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

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

最新文章

  1. 从零开始---控制台用c写俄罗斯方块游戏(2)
  2. 中国快递包裹总量的预测-基于SARIMA模型
  3. CSS 定义上划线、下划线、删除线代码
  4. ASP.Net MVC4中封装CSS和js冗余代码(不让其大篇的显示在前台上)
  5. pfx,cer转pem,并对通过pem文件进行签名与验签
  6. js ——算法
  7. 第3章 rpm命令管理
  8. mysql去除重复查询的SQL语句基本思路
  9. 对C++/CLR的一些评价
  10. POJ1260Pearls
  11. 【转】Date类学习总结(Calendar Date 字符串 相互转换 格式化)
  12. js字符串数字计算
  13. Linux下python2和python3共存
  14. randint模块无法加载
  15. vue2.0学习笔记之路由(二)路由嵌套
  16. PAT B1040 有几个PAT (25 分)
  17. [实战]MVC5+EF6+MySql企业网盘实战(5)——登录界面,头像等比例压缩
  18. phpcms V9内容页调用标签
  19. C语言 条件编译(if )
  20. Mysql语句 AND 和 OR 的运用

热门文章

  1. vim插件之marks
  2. thinkphp5项目--企业单车网站(七)
  3. docker 笔记1
  4. BZOJ 1050 枚举+并查集
  5. HUE配置文件hue.ini 的desktop模块详解(图文详解)(分HA集群)
  6. rem的解决方案
  7. 【使用uWSGI和Nginx来设置Django和你的Web服务器】
  8. C++ Primer笔记12_运算符重载_递增递减运算符_成员訪问运算符
  9. Tiling POJ 2506 【大数】
  10. Boolean operations between triangle meshes