用PL/SQL Developer連接公司Oracle數據庫,登錄時出現如下錯誤信息:ORA-12154: TNS: 無法解析指定的連接標識符,(有時可能不會出現錯誤對話框,但也連不上,多試幾次都會彈出如下圖的錯誤對話框)。
1. 檢查服務
出現這種問題,首先我們想到的是檢查服務有沒有問題OracleOraDb11g_home2TNSListener。在運行中輸入services.msc,打開服務窗口,看看OracleOraDb11g_homeTNSListener這個服務是否正在運行,如果沒有運行,則啟動。
2. 使用SQL PLUS測試連接。
如果還有問題,我們使用SQL PLUS測試是否能夠連接。運行輸入cmd,在命令提示符窗口中輸入
sqlplus sys/密碼@數據庫SID as sysdba
如:
sqlplus sys/abc123@orcl as sysdba
如果可以連接,問題就好辦了,說明我們數據庫實例是沒問題的,問題應該出在oracle客戶端和pl/sql developer的配置上。
3. 檢查tnsnames.ora配置
在客戶端的安裝路徑下,我的是D:\oracle\instantclient_12_1\NETWORK\ADMIN,創建一個文件,名為:tnsnames.ora,如果之前創建過了,則直接打開住里追加就行了。在tnsnames.ora中追加如下內容:
SID名 =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = SID名)
)
注意SID名前面不能有任何其他字符,尤其是空格!
保存后,看看能不能登錄。如果還不行,在pl/sql developer的登錄窗口中點“取消”按鈕,進入pl/sql developer后,執行“工具”-> “首選項” -> 連接,按下圖所示進行配置(其中oracle主目錄就是oracle客戶端的路徑)。