Navicat Oracle 12514: 解決Oracle數據庫連接錯誤
在使用Navicat連接Oracle數據庫時,可能會遇到"ORA-12514: TNS:listener does not currently know of service requested in connect descriptor"的錯誤。這通常發生在連接Oracle數據庫時,所連接的服務名稱不正確或者listener沒有加載正在嘗試連接的服務名稱。那么,如何解決這個問題呢?
解決問題的第一步是確認連接信息是否正確,比如用戶名、密碼、主機名、端口號和服務名稱等等。如果這些信息不正確,連接Oracle數據庫時必然會失敗。對于服務名稱的確認,可通過sqlplus在服務器端執行命令"lsnrctl status"查看。
如果確認連接信息一切正常,而Navicat連接Oracle時還是出現了"ORA-12514"錯誤,那么很有可能是listener沒有加載正在嘗試連接的服務名稱,需要手動將服務名稱加入到listener.ora文件中。
修改listener.ora文件的位置如下:
Unix/Linux系統:$ORACLE_HOME/network/admin/listener.ora
Windows系統:%ORACLE_HOME%\network\admin\listener.ora
下面是一個例子:
# listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1526))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME =)
(ORACLE_HOME = /u01/app/oracle/product/12.2.0.1/dbhome_1)
)
)
在SID_LIST_LISTENER節點下新增一個SID_DESC節點,把服務名稱加入到SID_NAME節點里面。
下面是一個修改后的例子:
# listener.ora Network Configuration File: /u01/app/oracle/product/12.2.0.1/dbhome_1/network/admin/listener.ora
# Generated by Oracle configuration tools.
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1521))
(ADDRESS = (PROTOCOL = TCP)(HOST =)(PORT = 1526))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME =)
(ORACLE_HOME = /u01/app/oracle/product/12.2.0.1/dbhome_1)
)
(SID_DESC =
(SID_NAME =)
(ORACLE_HOME = /u01/app/oracle/product/12.2.0.1/dbhome_1)
)
)
修改后,需要重啟listener:
Unix/Linux系統:$ lsnrctl stop
$ lsnrctl start
Windows系統: C:\>lsnrctl stop
C:\>lsnrctl start
重新連接Navicat,問題就會得到解決。
總結起來,Navicat連接Oracle時出現"ORA-12514"錯誤,可能是服務名稱不正確或者listener沒有加載正在嘗試連接的服務名稱。解決這個問題需要確認連接信息的正確性,并手動將服務名稱加入到listener.ora文件中。
網站導航
- zblogPHP模板zbpkf
- zblog免費模板zblogfree
- zblog模板學習zblogxuexi
- zblogPHP仿站zbpfang