首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

PL/SQL Developer 連線 ORA-12154 錯誤三大解決方案

     編輯:Oracle 資料庫相關知識

ORA-12154: TNS:無法解析指定的連線識別符 是 PL/SQL Developer 連線最常見錯誤。sqlplus 正常但 PL/SQL Developer 失敗,通常是客戶端配置不一致。

方案 1:檢查 tnsnames.ora 格式 (最常見)

用編輯器 (Notepad++/UE) 開啟 $ORACLE_HOME/network/admin/tnsnames.ora,檢查:

  • 別名前**無空白字元** (開頭空格、製表符)。
  • 括號配對正確、無全形字元。
  • 多個別名時,錯誤別名若在中間會導致後續別名全失效。
# 錯誤範例 (開頭有空格)
 dev_db = (DESCRIPTION = ...)

# 正確
dev_db = (DESCRIPTION = ...)

方案 2:指定正確 Oracle Home

  1. PL/SQL Developer 登入視窗點「取消」進入主介面。
  2. 選單 Tools → Preferences → Oracle → Connection。
  3. Oracle Home 下拉選單選擇**本機安裝的 Client 版本** (非 Instant Client 路徑)。
  4. 儲存並重啟 PL/SQL Developer。

方案 3:清理動態生成的快取檔

# 刪除網路配置快取 (會自動重建)
del %ORACLE_HOME%\network\admin\*.ora
# 或 Linux
rm -f $ORACLE_HOME/network/admin/*.ora

重新啟動 PL/SQL Developer 會重新讀取 tnsnames.ora 產生快取。

方案 4:檢查伺服器端 Listener (排除法)

# 客戶端
tnsping your_tns_alias

# 伺服器端
lsnrctl status
lsnrctl start  # 若未啟動

快速驗證流程

  1. cmd 執行 sqlplus user/pass@tns_alias → 成功 → 排除伺服器/網路問題。
  2. 同機器 PL/SQL Developer 失敗 → 確認為客戶端配置問題。
  3. 依序嘗試方案 1 → 2 → 3,通常方案 1 即可解決 90% 情況。

避坑提醒

  • 64-bit PL/SQL Developer 需搭配 64-bit Oracle Client,混裝會報 ORA-12560。
  • 多版本 Client 共存時,PATH 環境變數順序決定載入哪個 oci.dll,建議在 PL/SQL Developer 明確指定 Oracle Home。

三大方案覆蓋 99% ORA-12154 場景,建議收藏備查。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved