Jednym z możliwych rozwiązań jest wdrożenie Oracle Wallet. Utworzenie wpisu w Portfelu Oracle wymaga:
- nazwa rozwiązania tnsname ustanowiona dla wspomnianej instancji
- nazwę użytkownika i hasło
Przykład:identyfikator Oracle, z którym pracuję, nazywa się ORCL, użytkownik, z którym mam się połączyć, nazywa się my_user. W swoim pliku tnsnames.ora masz już wpis, który rozwiązuje nazwę/sid usługi ORCL, utwórz jeszcze jeden z dokładnie tymi samymi parametrami:
#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)))
Po pomyślnym rozwiązaniu nowego wpisu utwórz wpis portfela Oracle dla lokalnej nazwy ORCL_MY_USER. Ta nowa nazwa lokalna, której będziesz używać w swoim skrypcie Pythona do łączenia się bez podawania lub kodowania na stałe hasła.
Przykład: