plSQL技巧:“tns:無法解析指定的連接標識符”問題詳解


tns:監聽服務Transparance Network Substrate,透明網絡底層。一般是用它提供的監聽服務。
連接標識符:在安裝oracle10g client 時,提示設定命名連接,連接標識符即client設定的命令連接的名稱。即service_name(網絡別名、網絡服務名、主機連接字符串、主機名)

tnsping<service_name> 是用來執行oracle 網絡別名service_name的解析工作。會解析出ORACLE client中設定的服務器IP與監聽端口,並列明所讀取的ORACLE client監聽服務設置文件所在的目錄。這個文件一般是   X(盤符):\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora

pl/sql 每當oracle client中service name發生變化,都會按照client安裝目錄下最新的tnsnames.ora,去作為它的讀取文件;如果該文件在卸載oracle client后被手工刪除或手工改動過后,未在oracle client中修改;則會報“ORA-12514:tns:無法解析指定的連接標識符”錯誤。

解決方法:

1、用tnsping <service_name>檢測 plSQL登陸時database(數據庫)別名是否可正確解析,如報“TNS-03505:無法解析名稱”,則此database別名有沖突,需更改。

2、手工改動tnsnames.ora后,在oracle client中修改主機名(“對象”--“將數據庫添加到樹”--“從本地的……”,然后把錯誤主機名刪除或從樹中移除)

3、重新打開plSQL,用正確的database別名登陸,即恢復正常

4、如仍有問題,不登陸進入plSQL界面,進入"tools”--"Preferences"--"Oracle"--"Connection",把"home”(oracle主目錄名)里的數據清空,應用后,重新啟動plSQL即可。

附 錄:在做以上更改后oracle自帶的sqlPLUS,可能會出現不能正常登陸遠程服務器的情況;因為其訪問的是database下的 tnsnames.ora文件,目錄與client的不一樣,默認為 X(盤符):\oracle\product\10.2.0\db_1\NETWORK\ADMIN\tnsnames.ora

解決方法:只需將client下tnsnames.ora中定義的主機字符串(service_name)的命令行復制到database 下的tnsnames.ora內,然后保存就可以了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM