1、问题:PLSQL Developer无法连接64位Oracle数据库,PLSQL数据库选项为空,如下图所示:原因:PLSQL不可以直接连接64位Oracle数据库,只能连接32位的。想要连接64位Oracle数据库,需要借助32位的Oracle客户端。
2、到Oracle官网上下载32位Oracle客户端,如下图所示:
3、一定要下载32位的Instant Client,点进去之后找到适合自己数据库版本的文件下载,我装的是Oracle12.2.0.1.0,如下图所示:
4、解压Instant Client下载完成后解压到某个目录下,我这里解压到D盘根目录,如下图所示:
5、复制oracle12c的tnsnames.ora文件到Instant Client相关目录在instantclient_12_2文件夹下新建两层文件夹\NETWORK\ADMIN,将Oracle根目录\product\12.2.0\dbhome_1\network\admin\tnsnames.ora复制过来,如下图所示:
6、配置PLSQL Developer的首选项打开PLSQL,点击取消不进行登录,选择“工具”菜单下“首选项”,如下图所示:Oracle主目录名:D:\instantclient_12_2OCI库:D:\instantclient_12_2\oci.dll
7、测试,如下图所示:
8、sqlplus乱码,如下图所示:
9、一般sqlplus乱码,PLSQL Developer的错误提示也会乱码,如下图所示:
10、解决方式:添加TNS环境变量右击计算机 -- 属性 -- 高级系统设置 -- 高级选项卡 -- 环境变量在系统变量中添加两个变量:TNS_ADMIN:D:\oracle12c\product\12.2.0\dbhome_1\network\adminNLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK注意:这里NLS_LANG一定要设置成SIMPLIFIED CHINESE_CHINA.ZHS16GBK,无论你安装过程时选择的哪种字符集。此时,sqlplus就不会出现乱码,PLSQL Developer也不会出现乱码。
11、Oracle字符集如何更改查看Oracle字符集在cmd命令行下输入“sqlplus 用户名/密码@服务名”来登陆数据库sqlplus system/123456@orcl执行 select userenv('language') from dual; 查看当前数据库的字符集,为SIMPLIFIED CHINESE_CHINA.AL32UTF8,如下图所示: