Oracle

ORA-12154 TNS: 無法解析 SQLPLUS 指定的連接標識符

  • January 10, 2017

我正在使用 Toad 連接我的數據庫,它對我來說工作正常。但是當我嘗試使用相同的憑據連接時,我收到如下所示的錯誤消息:

ORA-12154 TNS: could not resolve the connect identifier specified  

腳步:

  1. 打開的命令提示符
  2. 到達 SQLPLUS 的路徑(C:\programs\Oracle\Ora11g\BIN
  3. C:\programs\Oracle\Ora11g\BIN\sqlplus 使用者名@schema_name
  4. 輸入密碼 :

錯誤:ORA-12154 TNS:無法解析指定的連接標識符 5. 但是當我用架構的所有者打開它時,它對我有用 6. C:\programs\Oracle\Ora11g\BIN\sqlplus schema_name@schema_name 7. 輸入密碼: 8. 連接到:…………

所以,我的問題是為什麼我的使用者名無法連接該特定模式,而該模式的所有者可以連接。注意:我可以使用 Toad 的使用者名連接到該架構,但不能使用 sqlplus

TNSNAME.ORATNS_ADMIN文件夾下

請幫我解決這個問題。

實際上通過蟾蜍您可以登錄,因為ORACLE_HOME在那裡設置。但是一旦你嘗試使用$ORACLE_HOME/bin,你的家就沒有正確設置。

要解決這個問題,先導出$ORACLE_HOME$ORACLE_SID試試,應該沒問題。

因此,您無需在執行時指定完整路徑sqlplus.exe

將您的%TNS_ADMIN%變數設置為相關文件夾的完整路徑 ( C:\programs\Oracle\Ora11g\TNS_ADMIN?)。這樣做的說明是Google。同時,確保%ORACLE_HOME%設置為C:\programs\Oracle\Ora11g並且您%PATH%C:\programs\Oracle\Ora11g\bin添加到其中。

您實際遇到的問題是由於您傳遞給 sqlplus 的參數。

你一直在做:

C:\programs\Oracle\Ora11g\BIN\sqlplus username@schema_name

這是錯誤的,被 sqlplus 解釋為:

C:\programs\Oracle\Ora11g\BIN\sqlplus username@database_name

此外,在 Oracle 中,模式的所有者(因此是模式名稱)是使用者名。顯然,可以授予其他使用者在其他模式上執行 DML/DDL 的權限,但您仍然必須使用具有足夠權限的使用者登錄。(代理登錄也存在,alter session set current_schema=blah但兩者都超出了此答案的範圍)。

引用自:https://dba.stackexchange.com/questions/34952