Python sqlalchemy connect";错误:函数架构“U名称不存在”;
我有以下python代码Python sqlalchemy connect";错误:函数架构“U名称不存在”;,python,postgresql,sqlalchemy,Python,Postgresql,Sqlalchemy,我有以下python代码 cred\u dict=load\u凭证() user=cred_dict[“user”] pwd=cred_dict[“pwd”] 主机=cred_dict[“主机”] port=cred_dict[“port”] db=cred_dict[“db”] schema=cred_dict[“schema”] con_string=f'Driver={{PostgreSQL Unicode}};服务器={host};数据库={db};端口={Port};UID={user
cred\u dict=load\u凭证()
user=cred_dict[“user”]
pwd=cred_dict[“pwd”]
主机=cred_dict[“主机”]
port=cred_dict[“port”]
db=cred_dict[“db”]
schema=cred_dict[“schema”]
con_string=f'Driver={{PostgreSQL Unicode}};服务器={host};数据库={db};端口={Port};UID={user};PWD={PWD};'
params=urllib.parse.quote\u plus(con\u字符串)
con=sqlalchemy.create_引擎(“mssql://?odbc_connect=%s”%params,fast\u executemany=True)
con=con.connect()
但我不断得到错误:函数schema_name()不存在
我已经测试了不同的驱动程序,但是我在ODBC中使用了PostgreSQL Unicode
作为我的DSN设置,并且它在没有任何问题的情况下工作。我也尝试过mssql+pyodbc
,但没有任何区别
注意,我不能使用
pyodbc.connect(“DSN=“+DSN)
,因为我必须为我们的生产环境使用sqlalchemy连接我通过安装psycopg2
来解决它,然后
con = create_engine(f'postgresql://{self.user}:{self.pwd}@{self.host}:{self.port}/{self.db}')
然后传递给
df = pd.read_sql(query=query, con=con)
是的,这是正确的方法。使用
mssql
方言访问PostgreSQL数据库肯定行不通。