Bài viết này mình sẽ hướng dẫn các bạn kết nối tới cơ sở dữ liệu Oracle bằng Python3 sử dụng thư viện cx_Oracle
1. Cài đặt thư viện cx_Oracle
Để kết nối tới Oracle Database, python3 sử dung thư viện cx_Oracle, sử dụng lệnh pip3 để cài đặt cx_Oracle
pip3 install cx_Oracle
2. Cài đặt Oracle Instant Client (Trên Linux)
Để sử dụng cx_Oracle cần cài đặt Oracle Instant Client, download Oracle Instant Client bản 64bit hoặc 32bit. Để quyết định cài version của Oracle Client bạn cần kiểm tra version của Oracle Database đang sử dụng, mình thường sẽ cài mặc định version 19c hỗ trợ các bản Oracle Database 10.2 - 19c.
Step 1: Download Oracle client packages
https://www.oracle.com/database/technologies/instant-client/downloads.html
Step 2: Cài đặt gói liên quan
# CentOS / RHEL / Fedora
sudo yum install libaio
# Ubuntu / Debian / LinuxMint
sudo apt-get install libaio1 alien
Step 3: Cài đặt Oracle client Package(s)
# CentOS / RHEL
mkdir -p /opt/oracle
cd /opt/oracle
unzip instantclient-basic-linux.x64-19.23.0.0.0dbru.zip # Ubuntu
sudo alien -i oracle-instantclient19.23-basic-19.23.0.0.0-1.x86_64.rpm
Step 4: Cập nhật shared libraries của Oracle, thực hiện command sau
# CentOS / RHEL
sudo sh -c "echo /opt/oracle/instantclient_19_23 > /etc/ld.so.conf.d/oracle-instantclient.conf"
sudo ldconfig # Ubuntu
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
Tạo file oracle-connect.py với nội dung như sau
#!/usr/bin/env python3
import cx_Oracle
conn = cx_Oracle.connect('sys', '123456', 'IP/orcl', cx_Oracle.SYSDBA)
print(conn.version)
conn.close()
Với:
- sys là username
- 123456 là mật khẩu sys
- IP là IP của máy chủ cài đặt oracle
- cx_Oracle. SYSDBA là bạn đang login bằng "sys as SYSDBA"
Thực thi file oracle-connect.py và tận hưởng kết quả thôi