sql >> Databasteknik >  >> RDS >> Oracle

Använda Oracle Service Names med SQLAlchemy

Jag har hittat svaret som du måste använda samma anslutningssträng som skulle användas i en tnsnames.ora-fil i anslutningssträngen efter '@' som så

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")

Det här exemplet fungerar bra, och du kan kommentera drop-satsen och kontrollera DB för att se att tabellen skapades.



  1. Ska nya indexkolumner finnas i nyckeln eller inkluderas?

  2. Hur väljer man topp 1 och sorteras efter datum i Oracle SQL?

  3. Vad är nytt i PostgreSQL 12

  4. Använda konfigurationstabeller för att definiera det faktiska arbetsflödet