Oracle
 sql >> Base de données >  >> RDS >> Oracle

cx_Oracle ne se connecte pas lors de l'utilisation du SID au lieu du nom du service sur la chaîne de connexion

Dans un scénario similaire, j'ai pu me connecter à la base de données en utilisant cx_Oracle.makedsn() pour créer un dsn chaîne avec un SID donné (au lieu du nom du service) :

dsnStr = cx_Oracle.makedsn("oracle.sub.example.com", "1521", "ora1")

Cela renvoie quelque chose comme

(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.sub.example.com)(PORT=1521)))(CONNECT_DATA=(SID=ora1)))

qui peut ensuite être utilisé avec cx_Oracle.connect() pour se connecter à la base de données :

con = cx_Oracle.connect(user="myuser", password="mypass", dsn=dsnStr)
print con.version
con.close()