【发布时间】:2018-08-03 18:05:11
【问题描述】:
我正在尝试使用 Python 连接到 Oracle 服务器。我在 cx_Oracle 中有这个工作,但是当我尝试使用 sqlalchemy 连接时它失败了。 cx_Oracle 代码:
import cx_Oracle
import pandas as pd
cx_connection = cx_Oracle.connect(user+'/' + pw + '@' + host + ':' + port + '/' + db)
df = pd.read_sql(my_query, cx_connection)
按预期根据查询执行并返回数据库中的数据。如果我尝试使用 sqlalchemy 进行相同的连接:
import sqlalchemy
engine = sqlalchemy.create_engine('oracle+cx_oracle://' + user + ':' + pw + '@' + host + ':' + port + '/' + db)
sqlalchemy_connection = engine.connect()
最后一行出现错误:
DatabaseError: (cx_Oracle.DatabaseError) ORA-12505: TNS:listener does 当前不知道连接描述符中给出的 SID(背景 这个错误在:http://sqlalche.me/e/4xp6)
知道问题是什么吗? sqlalchemy 不只是使用 cx_Oracle 吗?是否有任何解决方法可以让 cx_Oracle 连接到 sqlalchemy?
【问题讨论】:
标签: python sqlalchemy cx-oracle