sql >> Databáze >  >> RDS >> Oracle

Autentizace pomocí veřejných klíčů a cx_Oracle pomocí Pythonu

Jedním z možných řešení je implementace Oracle Wallet. Vytvoření záznamu Oracle Wallet vyžaduje:

  • název rozlišení tnsname vytvořený pro uvedenou instanci
  • uživatelské jméno a heslo

Příklad:Sid Oracle, se kterým pracuji, se jmenuje ORCL, uživatel, se kterým se musím spojit, se jmenuje můj_uživatel. V souboru tnsnames.ora již máte položku, která řeší název/sid služby ORCL, vytvořte další s přesně stejnými parametry:

#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 úspěšném vyřešení nové položky vytvořte položku peněženky Oracle pro místní název ORCL_MY_USER. Tento nový místní název, který budete používat ve svém python skriptu pro připojení, aniž byste v něm museli zadávat nebo pevně zakódovat heslo.

Příklad:



  1. EXTRACT (datetime) Funkce v Oracle

  2. Pravidla pro implementaci TDD ve starém projektu

  3. MySQL odstraňuje duplicitní řádky

  4. Závažná chyba:Nelze otevřít a zamknout tabulky oprávnění:Tabulka 'mysql.host' neexistuje