Tôi đã tìm thấy câu trả lời bạn phải sử dụng cùng một chuỗi kết nối sẽ được sử dụng trong tệp tnsnames.ora trong chuỗi kết nối sau '@ "như vậy
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")
Ví dụ này chạy tốt và bạn có thể nhận xét câu lệnh drop và kiểm tra DB để xem bảng đã được tạo.