Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

ORA-01017 khi kết nối qua trình điều khiển mỏng jdbc

Một quản trị viên DB thân thiện đã đến giải cứu và nhận thấy rằng đây thực sự là một lỗi của 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.

Và bây giờ - hãy giữ lấy mũ của bạn:

Available Workarounds:
----------------------
Use OCI.

Lưu ý rằng tôi đã sử dụng 11.2.0.4, trong khi lỗi nói

Tested Versions:
----------------
JDBC THIN Driver 11.1.0.6.0 and 11.1.0.7.0

Vì vậy, rõ ràng là nó đã xuất hiện được một thời gian. Tôi không chắc mình hiểu - tại sao họ đưa ra các phiên bản mới của trình điều khiển này nếu nó không kết nối bạn với cơ sở dữ liệu đúng cách? Có vẻ như đây sẽ là vấn đề đầu tiên mà mọi người gặp phải khi sử dụng trình điều khiển mỏng?

Nhưng sau đó, anh hùng quản trị viên DB địa phương của chúng tôi đã đào được điều này:

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. 

Trong Eclipse, tôi đã thêm dòng này vào các đối số VM (Run -> Run Configurations -> Arguments -> VM đối số -> add -Doracle.jdbc.thinLogonCapability =o3) và, lo và này, cuối cùng tôi có thể truy cập vào cơ sở dữ liệu.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Hàm SYS_EXTRACT_UTC () trong Oracle

  2. sắp xếp các chuỗi chữ số trong Oracle 11g

  3. Oracle SQL - Chuyển đổi hàng thành cột động

  4. Mật khẩu cơ sở dữ liệu đã hết hạn và các kết nối vẫn còn tồn tại

  5. Tham chiếu đến các kiểu do người dùng Oracle xác định qua DBLINK?