一、概述

尝试过很多款 Oracle 开发管理工具 PL/SQL Developer、dbForge Studio for Oracle、Navicat、SQL Developer 和 Toad 等,电脑上也始终安装着前两款。为什么要同时安装两款呢,一是因为 PL/SQL Developer 用着顺手但没有直连模式,二是因为 dbForge Studio 有直连模式但布局总感觉浪费空间。测试数据库能否连通时使用 dbForge Studio,写 SQL 语句时使用 PL/SQL Developer。

这么分裂的使用方式久了实在不能忍。多方查找资料发现 PL/SQL Developer 也可以实现直连模式,从而彻底脱离安装 Oracle Client 和设置 TNS 的烦恼。

二、准备条件

1. 下载 Oracle Instant Client

Oracle Instant Client 是 Oracle 官方推出的免费、轻量级、绿色免安装的数据库工具,里面包含了应用连接 Oracle 数据库所需的所有类库和SDK。

官方介绍和下载地址:https://www.oracle.com/technetwork/database/database-technologies/instant-client/overview/index.html

我们只需要下载相应操作系统对应的基础版:

下载后解压放到本地路径中,不需要安装。后面设置 PL/SQL Developer 的时候需要引用其中 oci.dll 的路径:

2. PL/SQL Developer 安装和设置

到官方网站下载并安装相应的版本。

官方网站:https://www.allroundautomations.com/plsqldev120.html

3. 脱离 TNS 直连数据库

数据库地址中输入“192.168.1.2:1521/ORCL”,此处使用 EZCONNECT 命名方法: (host[:port][/service_name])或者也可以输入完整的连接描述符(类似于tnsnames.ora文件中的方式)。

PL/SQL Developer 脱离 TNS 和 Oracle Client 直连数据库所有设置完成!

三、可能存在的问题

1. 查询中文字段或中文备注显示乱码(全是问号“?”)

出现这种情况一般是 PL/SQL Developer 所使用的编码规范和 Oracle 数据库使用的编码规范不一致导致的。

解决方式:添加环境变量指定编码规范

①、查询 PL/SQL Developer 使用的编码规范(帮助 → 支持信息)

如果为设置环境变量这里可能为空:

②、查询 Oracle 数据库使用的编码:

查询语句:

select userenv('language') from dual;

显示效果:

③、添加环境变量

开始“环境变量” → 编辑系统环境变量 → 新增用户环境变量:变量名:NLS_LANG,变量值是上个步骤查询出来的值,我这里是 AMERICAN_AMERICA.ZHS16GBK

④、设置完成,重新打开 PL/SQL Developer 软件。

四、参考文章:

  1. PLSQLDeveloper中文显示乱码的解决方法
  2. 解决PLSQL Developer 插入中文 乱码问题
  3. PL/SQL Developer 找不到oci.dll的問題(could not locate oci.dll)
  4. Direct Connection through Pl-SQL developer

本文为原创文章,转载请注明出处!欢迎关注任前程博客 https://renqiancheng.com,第一时间看后续精彩文章。