同事安裝 Oracle Client 後,ASP.NET 應用無法連線 Oracle 資料庫(OS 為 Windows XP),報錯 ORA-12154: TNS:無法解析指定的連線識別碼。先前曾遇過類似 OIC.DLL 遺失問題,重裝 Client 即可解決。此次嘗試安裝 Oracle Developer Tools for Visual Studio .NET 10.1.0.4.0 (ODT for VS.NET) 後,雖然能在 VS.NET 中瀏覽資料庫,但 ASP.NET 連線依然失敗。
tnsnames.ora:檔案內容無誤,排除語法錯誤。HKEY_LOCAL_MACHINE\Software\Oracle,發現 Oracle_Home 路徑被改為 E:\Program Files,實際安裝路徑為 E:\Oracle。修正後重啟無效。E:\Oracle\product\10.1.0\Client_1 仍存在,刪除時提示 OCI.dll 正在使用。改為重命名目錄成功,重啟系統後 ASP.NET 連線恢復正常。安裝 ODT for VS.NET 後出現 ORA-12154,請依序執行:
HKEY_LOCAL_MACHINE\Software\Oracle\Oracle_Home 指向正確的 Oracle Client 安裝路徑。Client_1 子目錄),若檔案被鎖定請重命名後再重啟。未重啟直接安裝新版導致監聽器仍指向舊路徑。處理步驟:
Tools → Preferences → Oracle → Connection,將 Oracle Home 與 OCI Library 設為空白(自動偵測),連線恢復正常。使用 OracleClient.OracleConnection 連線 Oracle 9i 時,若執行檔路徑過長或包含括號等特殊字元,即使服務名稱正確也會觸發 ORA-12154。排查時請同步檢查應用程式部署路徑。