एक मित्रवत DB व्यवस्थापक बचाव में आया, और पाया कि यह वास्तव में एक 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.
और अब - अपनी टोपियों को थामे रहें:
Available Workarounds:
----------------------
Use OCI.
ध्यान दें कि मैंने 11.2.0.4 का उपयोग किया है, जबकि बग कहता है
Tested Versions:
----------------
JDBC THIN Driver 11.1.0.6.0 and 11.1.0.7.0
तो जाहिरा तौर पर यह थोड़ी देर के लिए रहा है। मुझे यकीन नहीं है कि मुझे यह मिल गया है - वे इस ड्राइवर के नए संस्करण क्यों ला रहे हैं यदि यह आपको डेटाबेस से ठीक से कनेक्ट करने में विफल रहता है? ऐसा लगता है कि पतले ड्राइवर का उपयोग करते समय यह पहली समस्या होगी जिसे हर कोई चलाता है?
लेकिन फिर, हमारे स्थानीय डीबी व्यवस्थापक नायक ने इसे खोला:
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.
एक्लिप्स में, मैंने इस लाइन को VM तर्कों में जोड़ा है (रन -> रन कॉन्फ़िगरेशन -> तर्क -> VM तर्क -> ऐड -Doracle.jdbc.thinLogonCapability=o3) और, लो और निहारना, मैं अंत में प्राप्त कर सकता हूं डेटाबेस।