Hướng dẫn chi tiết cách kết nối Oracle Database với Python sử dụng cx_Oracle
Giới thiệu
Bài viết này sẽ hướng dẫn các bạn cách kết nối với cơ sở dữ liệu Oracle bằng Python 3 thông qua thư viện cx_Oracle, một thư viện mạnh mẽ và phổ biến cho việc tương tác với Oracle Database.
1. Cài đặt thư viện cx_Oracle
Trước tiên, để có thể kết nối tới Oracle Database, bạn cần cài đặt thư viện cx_Oracle bằng cách sử dụng lệnh pip3. Mở terminal và thực hiện lệnh sau:
bash
pip3 install cx_Oracle
2. Cài đặt Oracle Instant Client (Trên hệ điều hành Linux)
Để sử dụng cx_Oracle, việc cài đặt Oracle Instant Client là cần thiết. Bạn cần tải phiên bản phù hợp (64bit hoặc 32bit). Hãy kiểm tra phiên bản Oracle Database mà bạn đang sử dụng; thông thường mình khuyên nên cài đặt phiên bản mặc định 19c, hỗ trợ các phiên bản Oracle Database từ 10.2 đến 19c.
Bước 1: Tải gói Oracle Instant Client
Truy cập đường dẫn sau để tải gói Oracle Client:
https://www.oracle.com/database/technologies/instant-client/downloads.html
Bước 2: Cài đặt gói phụ thuộc
Đối với các gói cần thiết, bạn hãy thực hiện các lệnh sau tùy thuộc vào phân phối Linux bạn đang sử dụng:
- Đối với CentOS / RHEL / Fedora:
bash
sudo yum install libaio
- Đối với Ubuntu / Debian / LinuxMint:
bash
sudo apt-get install libaio1 alien
Bước 3: Cài đặt gói Oracle Client
Để cài đặt Oracle Client, hãy làm theo các bước sau:
- Đối với CentOS / RHEL:
bash
mkdir -p /opt/oracle cd /opt/oracle unzip instantclient-basic-linux.x64-19.23.0.0.0dbru.zip
- Đối với Ubuntu:
bash
sudo alien -i oracle-instantclient19.23-basic-19.23.0.0.0-1.x86_64.rpm
Bước 4: Cập nhật thư viện chia sẻ (shared libraries)
Sau khi cài đặt xong, bạn cần thực hiện cập nhật các thư viện chia sẻ của Oracle. Tùy thuộc vào hệ điều hành, bạn có thể thực hiện các lệnh sau:
- Đối với CentOS / RHEL:
bash
sudo sh -c "echo /opt/oracle/instantclient_19_23 > /etc/ld.so.conf.d/oracle-instantclient.conf" sudo ldconfig
- Đối với Ubuntu:
bash
sudo sh -c 'echo /usr/lib/oracle/19.23/client64/lib/ > /etc/ld.so.conf.d/oracle.conf' sudo ldconfig
3. Kiểm tra kết nối tới Oracle Database
Sau khi đã hoàn tất các bước trên, bạn có thể kiểm tra kết nối bằng cách tạo một file có tên oracle-connect.py
với nội dung dưới đây:
python
#!/usr/bin/env python3
import cx_Oracle
conn = cx_Oracle.connect('sys', '123456', 'IP/orcl', cx_Oracle.SYSDBA)
print(conn.version)
conn.close()
Trong đó:
sys
là tên người dùng (username)123456
là mật khẩu (password) của người dùng sysIP
là địa chỉ IP của máy chủ Oracle mà bạn muốn kết nối tớicx_Oracle.SYSDBA
để đăng nhập với quyền quản trị cao nhất (SYSDBA)
Cuối cùng, hãy thực thi file oracle-connect.py
để kiểm tra kết nối và trải nghiệm kết quả nhé!
Kết luận
Bài viết trên đã hướng dẫn một cách chi tiết cách để kết nối tới Oracle Database bằng Python sử dụng cx_Oracle. Hy vọng bạn có thể thành công trong việc thiết lập kết nối này để phục vụ cho các ứng dụng của mình.
source: viblo