這意味着您的操作系統設置不支持正在使用的語言中的錯誤消息的符號。 ORA-01017消息是在數據庫應用英語的語言設置之前發出的,更重要的是在西方腳本中。一旦你連接了Java語言環境,就可以獲得榮譽。
例如,我可以在java -Duser.language=zh -Duser.country=CN
的代碼中看到這兩個代碼;第一已提供不正確的憑據,二是試圖創建現有的表:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
java.sql.SQLSyntaxErrorException: ORA-00955: 名稱已由現有對象使用
我看到十個符號,在這裏你看到10問號。我的操作系統會話(Linux在這種情況下)有LANG=en_US.UTF-8
。如果我將其改爲具有較少定義的符號的東西,例如export LANG="en_US.ASCII"
,我仍然看到的第一條消息,但現在我得到同樣的,你的第二個:
java.sql.SQLException: ORA-01017: invalid username/password; logon denied
java.sql.SQLSyntaxErrorException: ORA-00955: ??????????
的中國符號現在可以不再受我的操作系統會被渲染。
因此,將您的操作系統語言環境設置爲可以表示您正在使用的語言的符號的內容,最好是UTF8。例如,如果Java與中國語言環境下運行,你可以這樣做在Linux下是一致的:
export LANG="zh_CN.UTF-8"
java -Duser.language=zh -Duser.country=CN
ORA-00955: 名稱已由現有對象使用
或者,如果你想看到在英文中的所有郵件修改Java語言環境中的英語:
export LANG="en_CN.UTF-8"
java -Duser.language=en -Duser.country=CN -
ORA-00955: name is already used by an existing object
(雖然Java無論如何都應該拿起從您的區域設置默認的語言,所以也許根本就不提供在java
調用語言或國家明確;只要設置正確LANG然後將足夠)
請將錯誤文本內聯並簡單地發佈電子文本,而不是圖像。 –
這看起來像你的一些例外可能有他們的消息來自不同的本地化。 – RealSkeptic
我建議調試它,看看在什麼時候在異常變量中存儲了什麼 – nabeel