Admin DB yang ramah datang untuk menyelamatkan, dan menemukan bahwa ini sebenarnya adalah bug Oracle:
Problem Description:
--------------------
When trying to connect by using the JDBC THIN 11g driver to a database 11g
using Enterprise User Security (EUS) connections throw invalid username/
When usign the JDBC OCI driver the connection can be made.
Dan sekarang - pegang topi Anda:
Available Workarounds:
----------------------
Use OCI.
Perhatikan bahwa saya menggunakan 11.2.0.4, sementara bugnya mengatakan
Tested Versions:
----------------
JDBC THIN Driver 11.1.0.6.0 and 11.1.0.7.0
Jadi rupanya sudah ada untuk sementara waktu. Saya tidak yakin saya mengerti - mengapa mereka mengeluarkan versi baru dari driver ini jika gagal menghubungkan Anda ke database dengan benar? Sepertinya ini akan menjadi masalah pertama yang dialami semua orang saat menggunakan driver tipis?
Tapi kemudian, pahlawan admin DB lokal kami menemukan ini:
Set the property oracle.jdbc.thinLogonCapability=o3 for the JDBC connection by passing the option oracle.jdbc.thinLogonCapability=o3 on the command line.
For example:
java -Doracle.jdbc.thinLogonCapability=o3 <Java Class>
There is no loss of security when following this workaround.
Di Eclipse, saya telah menambahkan baris ini ke argumen VM (Jalankan -> Jalankan Konfigurasi -> Argumen -> Argumen VM -> tambahkan -Doracle.jdbc.thinLogonCapability=o3) dan, lihatlah, saya akhirnya bisa masuk ke basis data.