Cx_Oracle ssl Python

Giải pháp. Nếu bạn có 
python3 -m pip install oracledb --upgrade
2 được bao gồm trong chuỗi kết nối của mình, hãy đảm bảo rằng 
python3 -m pip install oracledb --upgrade
3 của bạn là chính xác. Một phần DN của bạn là điểm cuối cơ sở dữ liệu của bạn
def thực thi(self, Host, port='1433', user='', password='', windows_auth='0', domain='', password_hash=None). #, hết giờ='10'). fp = tds. MSSQL(máy chủ, int(cổng)) fp. connect() với Timing() làm thời gian. nếu windows_auth == '0'. r = fp. đăng nhập (Không, người dùng, mật khẩu, Không, Không, Sai) khác. r = fp. đăng nhập (Không, người dùng, mật khẩu, tên miền, password_hash, True) nếu không r. phím = fp. trả lời[TDS_ERROR_TOKEN][0] code = key['Number'] mesg = key['MsgText']. giải mã ('utf-16le') khác. phím = fp. trả lời[TDS_LOGINACK_TOKEN][0] code = '0' mesg = '%s (%d%d %d%d)' % (key['ProgName']. giải mã('utf-16le'), key['MajorVer'], key['MinorVer'], key['BuildNumHi'], key['BuildNumLow']) fp. ngắt kết nối () tự trả về. Phản hồi (mã, thông báo, thời gian) # }}} # Oracle {{{

Bài viết này sẽ trình bày cách tạo kết nối db oracle python 3. Kết nối cơ sở dữ liệu Oracle trong python không hoạt động ngay lập tức và yêu cầu một số thiết lập ban đầu trước khi bắt đầu. Bài viết sẽ trình bày hai phương pháp khác nhau của việc sử dụng Oracle Instant Client với Python để tạo kết nối Oracle với python. Phương pháp đầu tiên là sao chép các thư viện tiên tri máy khách ngay lập tức vào bản cài đặt Python của bạn. Phương pháp thứ hai là sử dụng tài liệu cx_Oracle sử dụng phương pháp init_oracle_client

Sao chép các tệp dll của Oracle Instant Client

Các bước sau phác thảo quy trình chung để thiết lập kết nối python và oracle của bạn

  1. Tải xuống và cài đặt python 3 bằng hướng dẫn cho hệ điều hành bạn chọn. Bài viết này đang sử dụng Windows 10
  2. Cài đặt thư viện cx_Oracle. Nếu sử dụng PyCharm, điều này có thể được cài đặt dưới dạng plugin python. Lưu ý rằng nếu bạn không thể tìm thấy thư viện cx_Oracle trong PyCharm, IntelliJ hoặc bất kỳ sản phẩm JetBrains nào khác thì nó có thể được tìm thấy dưới dạng cx-Oracle (dấu gạch nối thay vì dấu gạch dưới)
  3. Tải xuống ứng dụng khách tức thì của Oracle từ. https. //www. tiên tri. com/database/technologies/instant-client/winx64-64-downloads. html (một lần nữa, lưu ý rằng bài viết này cung cấp hướng dẫn cho Windows. Nếu bạn đang sử dụng Linux hoặc MacOS, hãy tải xuống Oracle Instant Client phù hợp với hệ điều hành của bạn)
  4. Sao chép các tệp dll trong ảnh chụp màn hình bên dưới từ Oracle Instant Client vào thư mục cài đặt python của bạn. Trong ví dụ này, thư mục cài đặt python là C:\Users\Bob\AppData\Local\Programs\Python\Python39

Để đánh vần nó ra, dll là như sau

  • oci. dll
  • ocijdbc21. dll
  • ociw32. dll
  • oramysql. dll
  • orannzsbb. dll
  • oraocci21. dll
  • oraocci21d. dll
  • oraociei. dll
  • orasql. dll

Đến đây, ứng dụng python của bạn bây giờ có thể tạo kết nối Cơ sở dữ liệu Oracle

Đặt thư mục Máy khách Oracle

Đặt thư mục máy khách Oracle trong thư viện cx_Oracle là phương pháp được đề xuất để thiết lập kết nối Oracle python của bạn. Tuy nhiên, chúng tôi đã chọn ghi lại nó lần thứ hai vì ví dụ đầu tiên thể hiện rõ hơn các thư viện cần thiết cần thiết để có được kết nối cuối cùng tới Oracle

Đây là một mẫu mã để tải các thư viện máy khách của Oracle. Một lần nữa, lưu ý rằng ví dụ này là để tạo kết nối trên HĐH Windows

import cx_Oracle
lib_dir=r"C:\oracle\instantclient_19_9"
cx_Oracle.init_oracle_client(lib_dir=lib_dir)

Đảm bảo rằng biến môi trường ORACLE_HOME cũng đã được đặt thành vị trí khách hàng tức thì của bạn

Kiểm tra kết nối Oracle DB bằng Python

Đoạn mã sau là một ví dụ về cách tạo kết nối Oracle DB sau khi thiết lập ứng dụng khách tức thời của bạn

import cx_Oracle
def get_connection(user, password, dsn):
    try:
        return cx_Oracle.connect(user=user, password=password, dsn=dsn, encoding="UTF-8")
    except cx_Oracle.DatabaseError as e:
        print("Error connecting to the database", e)
        raise e

định nghĩa tham số
người sử dụng. Tên người dùng của người dùng kết nối với Oracle
mật khẩu mở khóa. Mật khẩu của người dùng kết nối với Oracle
dsn. Máy chủ và SID của db Oracle được kết nối với. Ví dụ, example.com/PROD

Để đóng kết nối, sử dụng phương pháp sau

def close(connection):
    try:
        if connection:
            connection.close()
    except cx_Oracle.DatabaseError as e:
        print("Error closing the database connection", e)
        raise e

Phần kết luận

Bài viết đã trình bày cách cấu hình cài đặt python với khả năng tạo kết nối cơ sở dữ liệu Oracle, trong Windows. Hãy cho chúng tôi biết trong phần nhận xét nếu bạn có bất kỳ câu hỏi nào hoặc cần trợ giúp khắc phục sự cố kết nối cơ sở dữ liệu của bạn trong Oracle. Kiểm tra các bài viết khác của chúng tôi

Làm cách nào để sử dụng cx_Oracle trong Python?

Các bước kết nối Python với Oracle bằng cx_Oracle connect .
Bước 1. Cài đặt gói cx_Oracle. Nếu bạn chưa làm như vậy, hãy cài đặt gói cx_Oracle. .
Bước 2. Truy xuất thông tin kết nối. Tiếp theo, lấy thông tin kết nối. .
Bước 3. Kết nối Python với Oracle bằng cx_Oracle connect

Python cx_Oracle là gì?

cx_Oracle là mô-đun mở rộng Python cho phép truy vấn và cập nhật cơ sở dữ liệu Oracle bằng API cơ sở dữ liệu chung cho tất cả các mô-đun truy cập cơ sở dữ liệu . Một số tiện ích mở rộng cho API cơ sở dữ liệu chung cũng đã được đưa vào để tận dụng một số tính năng dành riêng cho Oracle.

Nhập cx_Oracle trong Python là gì?

cx_Oracle là mô-đun mở rộng Python cho phép truy cập Cơ sở dữ liệu Oracle . Nó phù hợp với cơ sở dữ liệu Python API 2. 0 với một số lượng bổ sung đáng kể và một vài loại trừ. cx_Oracle 8. 3 đã được thử nghiệm với Python phiên bản 3. 6 đến 3. 10.

Làm cách nào để kết nối với Oracle 19c bằng Python?

Bằng lệnh này, bạn có thể cài đặt gói cx-Oracle nhưng bắt buộc phải cài đặt cơ sở dữ liệu Oracle trước trên PC của bạn. .
Nhập mô-đun cụ thể của cơ sở dữ liệu. Bán tại. nhập cx_Oracle
liên kết(). Bây giờ Thiết lập kết nối giữa chương trình Python và cơ sở dữ liệu Oracle bằng cách sử dụng hàm connect()