Một giải pháp khả thi là triển khai Oracle Wallet. Tạo một mục nhập Oracle Wallet liên quan đến việc có:
- tên độ phân giải tnsname được thiết lập cho phiên bản đã nói
- tên người dùng và mật khẩu
Ví dụ:Bên hỗ trợ Oracle mà tôi đang làm việc có tên là ORCL, người dùng mà tôi phải kết nối có tên là my_user. Trong tệp tnsnames.ora của bạn, bạn đã có một mục nhập phân giải tên dịch vụ ORCL / sid, hãy tạo một mục nhập khác với các thông số giống hệt nhau:
#initial local name entry:
ORCL = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1528))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
#create an additional local name entry:
ORCL_MY_USER = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = my_ip)(PORT = 1528))) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ORCL)))
Sau khi mục nhập mới giải quyết thành công, hãy tạo mục nhập ví oracle cho tên cục bộ ORCL_MY_USER. Tên địa phương mới này mà bạn sẽ sử dụng trong tập lệnh python của mình để kết nối mà không cần cung cấp hoặc mã hóa cứng mật khẩu trong đó.
Ví dụ: