場景:遠端 Oracle 11g R2 64-bit (ZHS16GBK),本地不裝完整資料庫,僅用 Navicat Premium 64-bit 與 PL/SQL Developer 32-bit 連線管理。
# 解壓並重命名 D:\Databases\Oracle\instantclient_12_1_x32 # 32-bit D:\Databases\Oracle\instantclient_12_1_x64 # 64-bit
D:\Databases\Oracle\instantclient_12_1_x64\oci.dll

D:\Databases\Oracle\instantclient_12_1_x32D:\Databases\Oracle\instantclient_12_1_x32\oci.dllHost:Port/Service,勾選「Save history」。

原因:Client NLS_LANG 與 Server 不符。Server 查詢:
SELECT * FROM V$NLS_PARAMETERS;
解法:在 PL/SQL Developer 登入前,於 Windows 環境變數 (用戶/系統) 新增:
NLS_LANG = SIMPLIFIED CHINESE_CHINA.ZHS16GBK
或在登入腳本 login.sql 加入:
ALTER SESSION SET NLS_LANGUAGE = 'SIMPLIFIED CHINESE'; ALTER SESSION SET NLS_TERRITORY = 'CHINA';
tnsnames.ora,攜帶性最佳。