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ạndef 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
- 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
- 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]
- 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]
- 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