【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:\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位的中文字符集,这导致了写和读不是一种字符集,最终导致中文变成问号或乱码。

评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值