ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務【解決思路】

在使用PL/SQL連接Oracle數據庫時,出現了錯誤:ORA-12514: TNS: 監聽程序當前無法識別連接描述符中請求的服務。此時,首先需要檢查E:\app\toryci\product\11.2.0\dbhome_1\NETWORK\ADMIN路徑下(每個人的電腦路徑不一樣,可參考)的listener.ora、tnsnames.ora配置文件內容,主要是檢查HOST配置是否爲安裝Oracle服務的機器,例如:

1.listener.ora文件

listener.ora是服務器端用的,oracle監聽程序,就是讀的這個文件,裏面有oracle服務器端的socket監聽地址和端口(
如果要想局域網中的其他人,能夠訪問我本地的oracle,要把我本機的地址寫進去,如x.x.x.x:

LISTENER =
    (DESCRIPTION_LIST =
        (DESCRIPTION =
            (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
            (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
            (ADDRESS = (PROTOCOL = TCP)(HOST = x.x.x.x)(PORT = 1521))
        )
    )

2.tnsnames.ora文件

tnsnames.ora是記錄客戶端訪問數據庫的本地配置:
客戶端是通過tnsnames.ora來識別連接服務器的
如果你沒有添加tnsnames.ora,那麼你就連接不上服務器的。
文件地址:E:\app\toryci\product\11.2.0\dbhome_1\NETWORK\ADMIN(每個人的電腦路徑不一樣,可參考

3.通過Net Manager查看服務命配置:

4.檢查以下環境變量配置:

ORACLE_HOME:E:\app\toryci\product\11.2.0\dbhome_1

TNS_ADMIN:E:\app\toryci\product\11.2.0\dbhome_1\NETWORK\ADMIN

path屬性值新增:E:\app\toryci\product\11.2.0\dbhome_1\BIN

NLS_LANG:SIMPLIFIED CHINESE_CHINA.ZHS16GBK【PL/SQL中文字符識別配置,此處可不用管

5.重啓監聽器,再重啓Oracle數據庫,最後再用PL/SQL連接Oracle數據庫。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章