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

Použití názvů služeb Oracle s SQLAlchemy

Našel jsem odpověď, že musíte použít stejný připojovací řetězec, který by byl použit v souboru tnsnames.ora v připojovacím řetězci za „@“, jako je to

from sqlalchemy import create_engine

if __name__ == "__main__":                                                                                                                                                        
    engine = create_engine("oracle+cx_oracle://<username>:<password>@(DESCRIPTION = (LOAD_BALANCE=on) (FAILOVER=ON) (ADDRESS = (PROTOCOL = TCP)(HOST = <host>)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = devdb)))")                                                                                                                                                   
    result = engine.execute("create table test_table (id NUMBER(6), name VARCHAR2(15) not NULL)")
    result = engine.execute("drop table test_table")

Tento příklad funguje dobře a můžete zakomentovat příkaz drop a zkontrolovat DB, abyste viděli, že tabulka byla vytvořena.



  1. Vestavěné testy PostgreSQL pro Java JUnit

  2. Aktivní relace a stav SQL serveru

  3. Zálohujte databázi na SQL Server 2017

  4. Jak vytvořit uživatele/databázi ve skriptu pro Docker Postgres