Python sqlalchemy connect";错误:函数架构“U名称不存在”;

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

我有以下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};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数据库肯定行不通。