主要原因可能是目标数据库是集群部署,可以咨询一下DBA
python 用sqlalchemy 连接Oracle数据库的时候报了下面这个错误:
sqlalchemy.exc.DatabaseError: (cx_Oracle.DatabaseError) ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的 SID
(Background on this error at: http://sqlalche.me/e/4xp6)
这是因为 sqlalchemy 在create_engine的时候默认是调用cx_Oracle去连接数据库,而cx_Oracle 在创建dns连接字符串的时候是默认SID = tnsname (实例名),其实是在连接的时候调用了 cx_Oracle.makedns 来构造连接url,我们通过下面的例子来看
In[95]: import cx_Oracle In[96]: cx_Oracle.makedsn('10.24.04.19', '1314'<