Oracle

WLS:Oracle 數據源產生“ORA-01435:使用者不存在”

  • May 8, 2014

所以我試圖在 Weblogic Server (12c) 中設置一個新的數據源,但我一遍又一遍地遇到同樣的錯誤:

java.sql.SQLException: ORA-01435: user does not exist

這看起來很簡單,但據我所知,事實並非如此。

  • 通過使用外部工具(Oracle SQLDeveloper)連接到數據庫,我多次檢查了數據庫屬性。
  • 我嘗試與架構所有者和第二個使用者(為 Web 應用程序創建)連接,他們都不能在 WLS 數據源中工作(但兩者都在 SQLDeveloper 中完美工作)。
  • 同一個 WLS 實例可以毫無問題地連接到不同的 Oracle 數據源 - 只是新的數據源會出現問題。(此外,工作數據源和非工作數據源都具有與其目標相同的託管伺服器。)

如果我輸入完全相同的數據庫屬性(主機、埠、驅動程序、密碼),但將使用者名更改為不存在的使用者名,則會收到不同的錯誤:

ORA-01017: invalid username/password; logon denied

所以這告訴我,使用者確實存在,但 WLS 仍然收到 ORA-01435 錯誤。

有誰知道問題可能是什麼?

PS 如果我打開有問題的數據源的“監控”選項卡,則該表為空。到目前為止,我認為這是因為我遇到了連接錯誤,但我想我還是會在這裡提到它。

最終能夠找出問題所在:

Weblogic Server 定義了一個很小的 init SQL scriptlet,它在數據源創建時執行以測試創建是否成功。實際上是這個測試 SQL 腳本,它試圖訪問一個不存在的使用者。

引用自:https://serverfault.com/questions/593381