也許這對 DB 人來說是微不足道的,但不幸的是對我來說不是。
我花了幾個小時來解決這個問題,但我找到的解決方案沒有幫助。我的資料庫密碼包含一個/字符,我認為這sqlplus令人困惑,這就是我無法登錄的原因。假設我的密碼是pass/word.
這是我迄今為止嘗試過的:
$ sqlplus MYUSER/pass/word@ABCDEF
$ sqlplus MYUSER/pass\/word@ABCDEF
$ sqlplus MYUSER/'pass/word'@ABCDEF
$ sqlplus MYUSER/'pass\/word'@ABCDEF
$ sqlplus MYUSER/"pass/word"@ABCDEF
$ sqlplus MYUSER/"pass\/word"@ABCDEF
$ sqlplus MYUSER/\""pass/word\""@ABCDEF
以上都沒有奏效。
然后我嘗試了這種方式:
$ sqlplus MYUSER@ABCDEF
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 19 15:10:13 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password:
SP2-0306: Invalid option.
Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM|SYSBACKUP|SYSDG|SYSKM|SYSRAC}] [edition=value]]
where <logon> ::= <username>[/<password>][@<connect_identifier>]
<proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>]
Enter user-name: ^C
這樣:
$sqlplus /nolog
connect MYUSER@ABCDEF
SQL*Plus: Release 12.2.0.1.0 Production on Fri Nov 19 15:10:13 2021
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Enter password:
SP2-0306: Invalid option.
Usage: CONN[ECT] [{logon|/|proxy} [AS {SYSDBA|SYSOPER|SYSASM|SYSBACKUP|SYSDG|SYSKM|SYSRAC}] [edition=value]]
where <logon> ::= <username>[/<password>][@<connect_identifier>]
<proxy> ::= <proxyuser>[<username>][/<password>][@<connect_identifier>]
Enter user-name: ^C
沒有結果。
谷歌沒有幫助。
我需要使用的技巧是什么?
uj5u.com熱心網友回復:
重要的想法是您鍵入的第一個和最后一個字符需要是". 然后解釋器(無論是 sqlplus 還是 RDBMS 本身)將剝離它們,并逐字記錄剩余的內容。
你的前四次嘗試并不接近,但最后三次接近。
$ sqlplus MYUSER/"pass/word"@ABCDEF
這個幾乎是完美的,除了 shell 1吞噬了"字符,所以沒有逐字逐句地使用正斜杠。
$ sqlplus MYUSER/"pass\/word"@ABCDEF
這個也很接近,但反斜杠沒有幫助,引號仍然被吞噬。
$ sqlplus MYUSER/\""pass/word\""@ABCDEF
除了保留額外的引號使其不匹配之外,這個也幾乎正是您想要的。
以下所有內容都適合您。
- 讓我們
sqlplus提示您輸入密碼并輸入"pass/word"而不是pass/word。 sqlplus myuser/\"pass/word\"只要你設定TWO_TASK=ABCDEF。sqlplus myuser/\"pass/word\"@ABCDEF
腳注:
1:如果您使用的是真正的作業系統而不是 Microsoft 作業系統。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/361894.html
