sql >> Database >  >> RDS >> Oracle

cx_Oracle maakt geen verbinding bij gebruik van SID in plaats van servicenaam op verbindingsreeks

In een soortgelijk scenario kon ik verbinding maken met de database door cx_Oracle.makedsn() te gebruiken om een ​​dsn . te maken string met een gegeven SID (in plaats van de servicenaam):

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

Dit geeft iets terug als

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

die vervolgens kan worden gebruikt met cx_Oracle.connect() om verbinding te maken met de database:

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


  1. MySQL JOIN met LIMIT 1 op samengevoegde tafel

  2. Partijrelatiepatroon. Hoe relaties te modelleren

  3. Tabelgegevens duidelijker weergeven in oracle sqlplus

  4. SQL Server SELECT in bestaande tabel