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

python:kết nối với cơ sở dữ liệu Oracle bằng ví / tnsnames của Oracle

Tôi không thể giúp chuyển đổi bên Java sang bên C mà cx_Oracle cần nhưng có thể phần sau sẽ giúp hiển thị những gì cx_Oracle cần. Tôi sẽ sử dụng một ví dụ dựa trên Oracle Exadata Express, sử dụng ví để kết nối, hãy xem hướng dẫn chung để kết nối ngôn ngữ kịch bản với Exadata Express tại đây .

Cấu hình và tệp chính xác của bạn có thể khác nhau. Như Anthony đã chỉ ra, thiết lập bảo mật không dành riêng cho cx_Oracle. Các chuyên gia bảo mật hữu ích và có kinh nghiệm hơn có thể ẩn náu trong các diễn đàn khác.

Đối với Exadata Express, một tệp zip ví được cung cấp sẵn sẽ được tải xuống. Đối với các ứng dụng Giao diện cuộc gọi Oracle như cx_Oracle, chúng ta chỉ cần các tệp này từ zip:sqlnet.ora, tnsnames.ora và cwallet.sso. Bạn sẽ cần tạo / tìm các tệp này (hoặc bất cứ thứ gì bạn cần).

Tệp của tôi là:

sqlnet.ora :

WALLET_LOCATION = (SOURCE = (METHOD = file)
                   (METHOD_DATA = (DIRECTORY="$TNS_ADMIN")))

SSL_SERVER_DN_MATCH=yes

tnsnames.ora :

dbaccess = (description=
          (address=(protocol=tcps)(port=1522)(host=whereever.com))
          (connect_data=(service_name=whereever2.com))   
          (security=(ssl_server_cert_dn="CN=wherever2.com,O=Oracle Corporation,L=Redwood Shores,ST=California,C=US"))  
       )

cwallet.sso :Tôi sẽ để điều này cho trí tưởng tượng của bạn ...

Tôi đặt ba tệp đó trong /Users/cjones/Cloud và thiết lập môi trường để tìm chúng:

$ export TNS_ADMIN=/Users/cjones/Cloud

Bây giờ tôi có thể kết nối bằng tên kết nối trong tnsnames.ora tệp:

$ sqlplus -l cj/[email protected]

SQL*Plus: Release 12.2.0.1.0 Production on Fri Jul 6 10:20:21 2018

Copyright (c) 1982, 2017, Oracle.  All rights reserved.

Last Successful login time: Tue Jul 03 2018 13:00:06 +10:00

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>

Trong cx_Oracle, dsn của bạn sẽ là dbaccess quá.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi to_date khi sử dụng substr

  2. lấy kết quả từ truy vấn

  3. DPI-1047:Không thể tải thư viện máy khách Oracle 64-bit

  4. Câu lệnh FORALL với giới hạn dưới và trên trong cơ sở dữ liệu Oracle

  5. Đếm không. trong số các bản ghi từ nhiều bảng; Cơ sở dữ liệu Oracle