plsql developer 无法找到tnsnames.ora和中文乱码问题

Posted 左直拳

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了plsql developer 无法找到tnsnames.ora和中文乱码问题相关的知识,希望对你有一定的参考价值。

【结论】
无法找到tnsnames.ora和中文乱码问题,这些问题都可以通过设置系统环境变量来解决。
所谓系统环境变量,是指操作系统的环境变量。


重装了机器,各种揾食架撑要一一安装。哇!好忙呀。

其中怎么少得了 plsql developer。plsql developer,oracle的好伴侣,你值得拥有。

一、如果是客户端

如果我们的机器没有装oracle,只是想装个plsql来访问别的机器的oracle,那么就要依赖oracle客户端。

1、tnsnames.ora
原本我的plsql developer是9.x的,无需安装,但好像死活找不到tnsnames.ora,也就是无法连接各种数据库咯。打开它,从它的帮助/support来看,可以看到tns file的设置值为空。显然,答案是要设置一个值给它,但不知道怎么设。网上说要修改注册表,应该是吧。当初我是在本机装了oracle的,估计oracle有设这个注册表的键值。

一怒之下,装了plsql developer 13,到官网上下载,完全免费,无需破解。

然后在系统变量里加上

TNS_ADMIN=D:\\soft\\develop\\数据库\\12c 客户端免安装版\\instantclient_12_1_64

说明:就是说,plsql需要oracle客户端支撑。我机器上的oracle客户端就是“D:\\soft\\develop\\数据库\\12c 客户端免安装版\\instantclient_12_1_64”,64位免安装版。

运行PLSQL,弹出登录框,点击‘取消’,进入plsql。

plsql后,按Alt键,再点击06对应的图标,进入‘首选项’设置界面。

左侧找到Oracle——>连接——>oracle主目录:值与环境变量中的TNS_ADMIN一致;OCI库:值为‘免安装客户端存放路径\\oci.dll’;

重启plsql

2、中文乱码
用这个plsql developer查看数据,中文全部为问号。网上说,这个也要设置系统变量。

1)看看数据库的中文编码是啥?

select userenv('language') from dual;

结果是 AMERICAN_AMERICA.ZHS16GBK

2)设置系统变量NLS_LANG

NLS_LANG=AMERICAN_AMERICA.ZHS16GBK

搞定

二、如果是服务器

如果我们机器本身又装有oracle,那么plsql会自动匹配,一般不需要我们再做什么设置。

以上是关于plsql developer 无法找到tnsnames.ora和中文乱码问题的主要内容,如果未能解决你的问题,请参考以下文章

plsql developer怎么调窗口的显示

plsql developer登陆时初始化失败 提示好像oraclehomekey 和oraclehomedir没找到

如何使用PLSQL Developer从Oracle UTF8数据库中读取汉字

清除PLSQL Developer访问数据库历史记录

Oracle&PLSQL 安装及乱码问题解决

PLSQL Developer快捷键及常用设置