I ett liknande scenario kunde jag ansluta till databasen genom att använda cx_Oracle.makedsn()
för att skapa en dsn sträng med en given SID
(istället för tjänstens namn):
dsnStr = cx_Oracle.makedsn("oracle.sub.example.com", "1521", "ora1")
Detta returnerar något i stil med
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.sub.example.com)(PORT=1521)))(CONNECT_DATA=(SID=ora1)))
som sedan kan användas med cx_Oracle.connect()
för att ansluta till databasen:
con = cx_Oracle.connect(user="myuser", password="mypass", dsn=dsnStr)
print con.version
con.close()