ORA-12154 TNS: 無法解析 SQLPLUS 指定的連接標識符
我正在使用 Toad 連接我的數據庫,它對我來說工作正常。但是當我嘗試使用相同的憑據連接時,我收到如下所示的錯誤消息:
ORA-12154 TNS: could not resolve the connect identifier specified
腳步:
- 打開的命令提示符
- 到達 SQLPLUS 的路徑(C:\programs\Oracle\Ora11g\BIN)
- C:\programs\Oracle\Ora11g\BIN\sqlplus 使用者名@schema_name
- 輸入密碼 :
錯誤:ORA-12154 TNS:無法解析指定的連接標識符 5. 但是當我用架構的所有者打開它時,它對我有用 6. C:\programs\Oracle\Ora11g\BIN\sqlplus schema_name@schema_name 7. 輸入密碼: 8. 連接到:…………
所以,我的問題是為什麼我的使用者名無法連接該特定模式,而該模式的所有者可以連接。注意:我可以使用 Toad 的使用者名連接到該架構,但不能使用 sqlplus
我
TNSNAME.ORA
在TNS_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
但兩者都超出了此答案的範圍)。