मैं एक समान परिदृश्य, मैं cx_Oracle.makedsn()
का उपयोग करके डेटाबेस से कनेक्ट करने में सक्षम था एक dsn . बनाने के लिए दिए गए SID
. के साथ स्ट्रिंग (सेवा नाम के बजाय):
dsnStr = cx_Oracle.makedsn("oracle.sub.example.com", "1521", "ora1")
यह कुछ इस तरह लौटाता है
(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle.sub.example.com)(PORT=1521)))(CONNECT_DATA=(SID=ora1)))
जिसे तब cx_Oracle.connect()
. के साथ प्रयोग किया जा सकता है डेटाबेस से जुड़ने के लिए:
con = cx_Oracle.connect(user="myuser", password="mypass", dsn=dsnStr)
print con.version
con.close()