Едно възможно решение е внедряването на Oracle Wallet. Създаването на запис в Oracle Wallet включва:
- име за разрешаване на tnsname, установено за споменатия екземпляр
- потребителско име и парола
Пример:Oracle sid, с който работя, се казва ORCL, потребителят, с който трябва да се свържа, се казва my_user. Във вашия файл tnsnames.ora вече имате запис, който разрешава името/sid на услугата ORCL, създайте още един с точно същите параметри:
#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)))
След като новият запис бъде разрешен успешно, създайте записа в портфейла на oracle за локалното име ORCL_MY_USER. Това ново локално име, което ще използвате във вашия скрипт на Python, за да се свържете, без да предоставяте или твърдо кодирате парола в него.
Пример: