sql >> Database teknologi >  >> RDS >> Oracle

Brug af Oracle Service Names med SQLAlchemy

Jeg har fundet svaret, du skal bruge den samme forbindelsesstreng, som ville blive brugt i en tnsnames.ora-fil i forbindelsesstrengen efter '@' som sådan

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

Dette eksempel kører fint, og du kan kommentere drop-sætningen og tjekke DB'en for at se, at tabellen blev oprettet.



  1. Sådan opretter du en database i MySQL

  2. Hvordan afhjælper jeg årsagen til dvale-undtagelse. IllegalArgumentException opstod under opkald til setter?

  3. SQL Server Error 206:Operand type sammenstød

  4. Workplace Encounters:Genvinde plads fra en overdimensioneret database