ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

PLSQL Developer 13免安装版配置指南:OCI/TNS/NLS_LANG一次搞定

PLSQL Developer 13免安装版配置指南:OCI/TNS/NLS_LANG一次搞定 简介PLSQL Developer 13 可选中文语言免安装版是一款面向 Oracle 数据库管理员与开发人员的图形化开发工具解决了传统安装配置繁琐、界面语言不友好等痛点。资源为7z压缩包大小64.04MB解压即可运行无需安装支持中文界面便于中文用户快速上手。工具内置SQL与PL/SQL编辑器提供语法高亮、自动完成、断点调试、代码分析等功能支持数据浏览编辑、图形化对象管理、报表生成以及SVN/Git版本控制集成适用于日常开发、数据维护与团队协作场景。资源包内为完整程序文件使用时需确认本机已配置Java运行环境与Oracle客户端库以保证正常连接数据库。目前已有1090人学习下载适合希望低成本搭建高效Oracle开发环境的中高级技术人员选用无论是日常SQL编写、性能调优还是团队协作均能有效提升效率。1. 拿到“免安装”包先别急着双击 exe你刚从网盘拖下来一个PLSQL Developer 13 可选中文语言免安装解压即用.7z解压后里面躺着一个完整的 PLSQL Developer 13 目录。这个包对两类人最有用一类是经常换电脑、不想每次重装 Oracle 客户端和 IDE 的 DBA 和开发另一类是去客户现场做实施服务器上不让随便装软件、只能开个绿色版干活的工程师。免安装确实省掉了安装向导和注册表写入但“解压即用”不等于“解压就能连数据库”——真正卡人的是 OCI 环境、TNS 服务名解析和字符集这三关。这篇文章把这套包从解压到顺手用完的每个环节拆开讲包你能照着配完不返工。2. 解压即用的免安装版目录里藏着的三样东西拿到压缩包先别急着解压到桌面就开跑先把目录结构和运行原理摸清楚后面配置连接才不抓瞎。免安装版看起来是一个黑匣子其实它的运行逻辑比安装版更透明。2.1 免安装版为什么能跑不写注册表目录自恰PLSQL Developer 本身就是一个对注册表依赖很轻的 Windows 程序。安装版安装时做的事主要是把程序文件释放到C:\Program Files\PLSQL Developer 13往HKEY_CURRENT_USER\Software\Allround Automations下写几个偏好设置的键再在开始菜单建几个快捷方式。程序启动时主进程从自身所在目录加载 DLL配置读写也走当前用户注册表不需要 SYSTEM 级权限。免安装版能跑靠的是“目录自恰”这个工程原则把安装后那个 Program Files 目录整个打包解压到哪程序就从哪加载。它不向系统目录拷 DLL不注册 COM 组件也不依赖安装向导生成的环境变量。所以换个目录、换台机器甚至放到 U 盘里接到一台没装过 Oracle 任何组件的 Windows 上双击plsqldev.exe都能起来。2.2 解压后的目录结构长什么样哪个文件是入口解压完你会看到类似下面这个结构具体文件名以你手里包为准PLSQL Developer 13/ ├── plsqldev.exe # 主程序入口双击这个 ├── plsqldev.chm # 离线帮助文档 ├── Languages/ # 语言资源文件目录中文包在这里 │ ├── Chinese.xxx # 中文语言资源文件名带 Chinese 字样 │ └── English.xxx ├── instantclient_19_*/ # 有些包会集成 Oracle Instant Client │ └── oci.dll ├── tnsnames.ora # 有些免安装包会把示例连接串放根目录 └── *.dll # 程序运行依赖的库文件主入口是plsqldev.exe双击它启动。在配置连接之前建议先做两件事。第一确认整个目录路径里没有中文和空格D:\Oracle\PLSQL Developer 13这种是最稳的D:\工具\PLSQL Developer 13这种碰到 OCI 加载时经常出幺蛾子。第二看一眼Languages目录里有没有带Chinese字样的文件这是后面切中文界面的关键没有这个文件再怎么配注册表也切不过去。打开目录后如果发现没有instantclient子目录也别慌说明打包者默认你机器上已经装了 Oracle 客户端或者 Instant Client后面第 4 章配 OCI 路径的时候指向系统里已有的oci.dll就行。2.3 免安装版和安装版的本质差别怎么判断手里的包靠不靠谱免安装版和安装版本质差别在三处文件关联、自带更新、OCI 环境。安装版会帮你把.sql文件默认打开方式关联到 plsqldev.exe免安装版没有安装版有自带更新功能免安装版绝大多数是断更的出了新版本要自己重新下载解压安装版装的时候如果有检测会顺手帮你找一个可用的 Oracle 客户端免安装版完全靠你自己手动指定。判断一个免安装包靠不靠谱上手前可以快速检查三条。第一目录里有没有Languages且里面带中文资源文件标题写了“可选中文语言”这个必须有。第二主程序旁边有没有一批运行库 DLL一个光秃秃的 exe 大概率启动就报“缺少 dll”。第三注册表里没有写入任何东西的前提下能不能跑起来——把整目录拷到一台干净的机器上试运行一次能启动界面就说明打包完整。常见的翻车方式是打包者漏了某个子目录或者压缩时把超长路径截断了导致解压出来缺文件。3. 切中文界面语言文件、注册表键值和一次到位的做法标题里写了“可选中文语言”意味着这个包默认不是中文界面需要你手动切一次。切语言这件事本身不难难的是理解它和安装版的差异——安装版装的时候让你选语言选完就写进注册表免安装版没有这个向导注册表里那个 LANGUAGE 键得你自己写。3.1 语言包的存放位置与命名规则为什么“可选”而不是默认中文PLSQL Developer 的语言包是一组独立的资源文件放在主程序目录下的Languages子目录里。程序启动时读注册表里指定的语言资源文件名再从这个目录加载对应文件。“可选”的含义是包作者在打这个免安装版的时候把中英文资源都放进了Languages目录但默认注册表键值指向的是英文资源。这样做的工程考虑是为了不污染系统——如果一解压就强行改注册表某些安全软件会报警做成“可选”让用户自己决定要不要改也更符合绿色软件的习惯。确认语言文件是否在了直接看Languages目录。常见的资源文件是Chinese.*或带 Chinese 命名前缀的几个文件。如果文件名是Chinese_Simplified之类那就说明简体中文资源完整如果只有Chinese_Traditional说明包里只有繁体中文如果压根没有 Chinese 字样这个包就不具备“可选中文语言”的能力退了重找。3.2 通过注册表切换中文的完整步骤打开记事本把下面这段另存为set_chinese.reg注意文件名后缀是.reg而不是.txtWindows Registry Editor Version 5.00 [HKEY_CURRENT_USER\Software\Allround Automations\PLSQL Developer 13.0] LanguageChinese保存后右键这个.reg文件选择“合并”弹窗提示问“是否确认修改注册表”点是。然后启动plsqldev.exe进去后如果界面已经是中文这一步就彻底完成了。这段注册表脚本的写法有讲究。路径里的PLSQL Developer 13.0是 13 版本在注册表里的固定段名不同大版本这个段名不同12 就是PLSQL Developer 12.011 是PLSQL Developer 11.0。Language是键名键值写成Chinese是让程序去Languages目录里找名为 Chinese 的资源文件——注意这里通常不需要带文件扩展名带不带因打包方式而异。如果你的包作者改过资源文件名比如叫Chinese_CN这里就写Chinese_CN。合并注册表不生效的时候还有一种更笨但更可靠的排查方式先手工在“运行”里输regedit打开注册表编辑器导航到HKEY_CURRENT_USER\Software\Allround Automations\PLSQL Developer 13.0看右边面板里有没有Language这个键没有就右键新建字符串值名字写Language数值填Chinese填完立即启动程序测试。3.3 首次启动白屏或仍是英文大概率是哪两处搞错了第一处注册表合并了但程序界面仍然是英文。看Language键的值和Languages目录下实际文件名的匹配关系。比如资源文件叫Chinese_Simplified.xxx你却写Chinese程序找不到对应资源就会回退到内置的英文界面。对一下名字改完重启程序。第二处更隐蔽程序第一次启动直接白屏或闪退。这不是语言配置的问题而是这个免安装包所在的机器缺少 VC 运行库。PLSQL Developer 13 依赖msvcp140.dll和vcruntime140.dll这一组 Visual C 2015-2022 Redistributable 运行库。安装版有安装向导帮你检查这个免安装版没有这个环节缺库的表现就是解压正常、注册表正常、双击闪退或白屏。去微软官网下载“Visual C Redistributable for Visual Studio 2015-2022”装一遍x64 和 x86 两个都装再启动就好了。提示判断是不是运行库问题打开“事件查看器 → Windows 日志 → 应用程序”找级别为“错误”、来源为Application Error的最近记录如果异常模块里出现msvcp140.dll或KERNELBASE.dll基本就是运行库或依赖项缺失。4. 连接 Oracle 前必须配好的三块环境OCI、TNS_ADMIN 与 NLS_LANG免安装版真正拉开差距的地方在这里。PLSQL Developer 本身只是一个 IDE它不自带 Oracle 数据库的网络协议栈所有数据库连接操作都通过 Oracle 提供的 OCIOracle Call Interface完成。也就是说光启动了界面不叫“解压即用”能输账号密码连上数据库才算。4.1 OCI 路径怎么指定Tools → Preferences → Oracle 里的门道第一次启动后Tools → Preferences → Oracle → Connection页面里有一个叫OCI Library的输入框旁边还有个“...”按钮让你浏览文件。这个框要填的是oci.dll的完整路径。常见做法是填解压目录里instantclient_19_12这类子目录下的oci.dll全路径。如果你手里这个包没有集成 Instant Client就填你机器上已安装 Oracle 客户端的oci.dll常见位置是C:\Oracle\product\11.2.0\client_1\bin\oci.dll或C:\app\用户名\product\19.0.0\client_1\bin\oci.dll。这里有三个参数要对着检查。第一位数必须一致PLSQL Developer 13 分 32 位和 64 位两个安装包如果你的 IDE 是 32 位OCI 也必须指向 32 位的oci.dll混用会直接报ORA-06401或启动时报“无法加载 OCI”。第二版本不能过旧PLSQL Developer 13 连 Oracle 19c 数据库时建议 OCI 版本不低于 12.1太老的 10g 客户端连 19c 会出现一堆兼容性报错。第三路径不能带中文这是 OCI 加载玄学的高发区目录带中文时oci.dll加载会静默失败界面能起但一点连接就闪退。配置完这一步保存设置然后重启一次程序让 OCI 库真正加载进去。怎么看有没有加载成功连接窗口里的 Database 下拉框如果能列出tnsnames.ora里的服务名说明 OCI 加载成功如果下拉框空白说明 OCI 没加载上回去检查路径。4.2 用 tnsnames.ora 管理连接串免安装版尤其要养成的习惯免安装版没有 Oracle 安装程序帮你写tnsnames.ora这个文件要自己准备。它的作用是把你连接时输入的服务名就是 Database 下拉框里那个名字解析成数据库服务器的主机地址、端口和实例名。一份最小可用的tnsnames.ora长这样ORCL (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 192.168.1.10)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orcl) ) ) ORCLPDB (DESCRIPTION (ADDRESS (PROTOCOL TCP)(HOST 192.168.1.10)(PORT 1521)) (CONNECT_DATA (SERVER DEDICATED) (SERVICE_NAME orclpdb) ) )文件里每组配置以服务名开头缩进不是必须的但建议保留方便看层级。关键参数是三个HOST填数据库服务器 IP 或主机名PORT默认是1521如果你公司数据库改了端口要同步改SERVICE_NAME是这次连接最关键的参数Oracle 12c 以上需要先通过lsnrctl status或问 DBA 确认实际服务名填错就报ORA-12514。免安装版里tnsnames.ora放哪里取决于TNS_ADMIN环境变量。程序解析这个文件时先看环境变量TNS_ADMIN指向的目录没设置才去看客户端默认目录。我一般会在解压目录里建一个network\admin文件夹把tnsnames.ora放进去然后把TNS_ADMIN指到这里这样整个 Oracle 连接环境都随身带走换机器不用重新配。设置TNS_ADMIN在 Windows 上是这样操作的右键“此电脑 → 属性 → 高级系统设置 → 环境变量”在系统变量或用户变量里新建变量名写TNS_ADMIN变量值写放tnsnames.ora的那个文件夹完整路径比如D:\OracleTools\PLSQL Developer 13\network\admin。设置完要重新打开程序才生效因为它只在启动时读一次环境变量。4.3 NLS_LANG 设不对中文数据全是问号NLS_LANG 这个环境变量决定的不是界面语言而是客户端和数据库通信时的字符集编码。界面切中文靠的是注册表 Language 键数据不乱码靠的是 NLS_LANG。两者经常被混为一谈实际是完全不同层面的两件事。NLS_LANG 的格式是三段语言_地区.字符集例如SIMPLIFIED CHINESE_CHINA.ZHS16GBK。网上搜教程全是让你照抄这个但其实 ZHS16GBK 只适用于数据库字符集是ZHS16GBK的老库。如果你的数据库是 Oracle 19c 默认的AL32UTF8还设 ZHS16GBK那么从数据库里查出来的中文会在传输过程中被错误转码显示成乱码或问号。先查数据库字符集再设 NLS_LANG。用 SQL 执行这句SELECT value FROM nls_database_parameters WHERE parameter NLS_CHARACTERSET;执行结果里如果是AL32UTF8环境变量就设SIMPLIFIED CHINESE_CHINA.AL32UTF8如果返回ZHS16GBK就设SIMPLIFIED CHINESE_CHINA.ZHS16GBKWindows 里添加方式和TNS_ADMIN一致新建用户环境变量变量名NLS_LANG变量值按上面填。设完重开程序数据就不会再出现乱码。5. 免安装版避坑五则每一行都是实操换来的免安装版用久了会积累一批固定踩坑点这儿列出来的五条每一条我都见过不止一次在群里被人问。现象、原因、解决按这个顺序写清楚你对号入座就行。5.1 双击plsqldev.exe没反应事件查看器里也没有报错现象双击后鼠标转两圈然后什么都没发生。任务管理器里能看到进程但界面始终不出现或者进程瞬间消失。原因分两种最常见的是缺 VC 运行库这种通常会在事件查看器留下 KERNELBASE.dll 错误另一种是解压路径过深超过 Windows 260 字符的路径上限导致程序加载资源文件时静默失败。解决先装 Visual C 2015-2022 Redistributablex64 和 x86 都装。装完还不行把整个目录挪到盘符根目录下比如D:\PLSQLDev13\保证plsqldev.exe的完整路径不超过 80 个字符再双击。5.2 连接时报ORA-12154: TNS:could not resolve the connect identifier现象Database 下拉框里看不到任何服务名手动输入服务名点连接几秒后报 ORA-12154。原因这个错误的直接原因就是 TNS_ADMIN 指向的目录里没有tnsnames.ora或者环境变量根本没设置成功。免安装版里如果没建network\admin目录程序会去系统默认路径找而默认路径在没装 Oracle 客户端的机器上是不存在的。解决按第 4.2 节的方法建network\admin目录放好tnsnames.ora核对环境变量TNS_ADMIN是否指向这个目录的完整路径。改完环境变量必须重启一次 PLSQL Developer它只在启动时读取。验证方法WinR输入cmd在里面跑echo %TNS_ADMIN%打印出来的路径就是你当前生效的目录。5.3 界面切到中文了部分菜单还是英文或按钮文字重叠现象注册表改了主界面大部分是中文但某些弹出菜单、右键菜单、属性页标题还是英文部分按钮文字显示不全。原因中文语言包版本和程序主版本不完全匹配。打个比方主程序是 13.0.5语言包是 13.0.0 的新增的菜单项在旧语言包里没有对应翻译就回退成英文原文。解决这是语言包版本不匹配导致不一定是配置错误。看这个包发布者有没有说明语言包版本有就更新到一致版本。如果是自己拼接的免安装包去官方或可信渠道找对应 13.0 版本的语言包文件覆盖进Languages目录。按钮文字重叠则是 Windows 显示缩放问题右键plsqldev.exe→ 属性 → 兼容性 → 更改高 DPI 设置勾选“替代高 DPI 缩放行为”缩放执行选“系统”或“系统(增强)”重启解决。5.4 查询出的中文数据全是问号但界面显示正常现象界面是中文的表格里的中文字符却显示成?或者一串乱码英文数字都正常。原因这种现象九成是NLS_LANG环境变量没设置或设置成了和数据库字符集不匹配的值。界面中文靠注册表 Language数据不乱码靠 NLS_LANG这是互不相干的两条链路。如果你连的是 19c 默认库AL32UTF8却设了 ZHS16GBKSELECT 出来的中文经过客户端转换就变成了问号。解决按第 4.3 节先查数据库字符集再设对应的 NLS_LANG。这里要提醒一个细节设置 NLS_LANG 时不光要写字符集前缀SIMPLIFIED CHINESE_CHINA也要带上只写AL32UTF8会让某些老版本 OCI 直接连不上库。5.5 安全软件把目录里的 DLL 隔离了现象第一次解压后启动正常第二天双击没反应去解压目录一看Languages目录或某个 DLL 文件没了。安全软件的隔离区里躺着被隔离的文件。原因免安装版的打包方式是把整个安装目录压缩再解压文件创建时间相同、目录结构特殊这种形态容易触发部分安全软件的启发式查杀。尤其是一些破解版或注册机类型的免安装包更容易中招被查杀的也经常是负责语言加载或授权校验的 DLL。解决把整个解压目录加入安全软件的信任区或排除列表然后重新解压一次完整目录。这里说句公道话如果这个包是从非可信渠道下载的被隔离不见得是误报该查毒的查毒该重新下载的去官方渠道。工作中我见过有人为了省事关闭整个安全软件这是拿生产环境开玩笑不建议这么干。6. 把“解压即用”升级成“随身环境”配置迁移与多版本共存走到这一步你已经能把免安装版跑通了接下来值得做的一件事是把你调好的连接配置和偏好设置固化下来。PLSQL Developer 的偏好设置写在注册表里换机器后手工重配一遍连接窗口、编辑器风格、快捷键布局大概要折腾二十分钟。其实有更省事的办法。偏好设置可以导出在Tools → Preferences窗口左下角有一个Export Preferences按钮点它可以把当前所有配置导出成一个.pref文件。换机后在新机器的 PLSQL Developer 里用Import Preferences导入编辑器字体、SCAN 快捷键、SQL 格式化规则全部回来。这个.pref文件很小几十 KB 到几百 KB建议把导出的文件放在和tnsnames.ora同一个目录里整个文件夹打进压缩包走到哪都是顺手的环境。多版本共存也是免安装版的白送福利。安装版装 12 和 13 两个版本时安装向导会互相覆盖文件关联和注册表段免安装版因为不碰系统级配置两个版本解压在两个目录里可以同时跑。我一般会在目录名里带版本号比如D:\OracleTools\PLSQL13和D:\OracleTools\PLSQL12各自配各自的 OCI。注意 OCI 位数要各自独立配不要图省事共用一套环境变量。验证配置是否完整的最后一步不要直接打开 PLSQL Developer 去试连接——那样费时间而且报错信息绕。先在命令行里用 tnsping 验证网络层通不通tnsping ORCL如果这个包没带独立 tnsping 工具也可以用最基础的网络命令代替ping通数据库主机 IP再用telnet IP 1521或Test-NetConnection IP -Port 1521Windows PowerShell 里更顺验证 1521 端口通不通。网络层通了再打开 PLSQL Developer 填账号密码这时候如果还报错错误信息基本都指向账号权限或监听配置网上也好查。最后说一个我自己的习惯每拿到一个新版本的免安装包我会先在虚拟机里解压跑一遍确认不缺运行库、语言包能切换、OCI 能加载再往工作机里放。这样做的原因是吃过一次亏——从同事那拷了个 11g 时代的绿色版结果缺 VC 运行库在客户现场白屏了整整一个下午。免安装版虽然方便但它把大量“安装向导应该做的事”推给了使用者每一步都要自己验证验证过的包才是自己的随身环境。希望这篇整理能帮你在 Oracle 工具链这件事上少走几步弯路。本文还有配套的精品资源点击获取
返回列表