sqlalchemy在尝试连接到clickhouse db时显示“代码516身份验证失败”

vwhgwdsa  于 2021-07-15  发布在  ClickHouse
关注(0)|答案(2)|浏览(898)

我已经用dbeaver连接到clickhouse数据库,并安装了sqlalchemy v1.3.13和用于python3.7的clickhouse sqlalchemy 0.1.3。
当我试着和

from sqlalchemy import create_engine 
engine_clickhouse = create_engine('clickhouse://use:pass@host:port/db')
engine_clickhouse.raw_connection()

我得到了
异常:code:516,e.displaytext()=db::异常:默认:身份验证失败:密码不正确或没有具有此名称的用户(版本20.3.4.10(官方版本))
有人知道为什么吗?我没有发现类似的问题。

js81xvg6

js81xvg61#

这个问题是众所周知的-请看sqlalchemy clickhouse issue-45或sqlalchemy clickhouse issue-49。
要解决此问题,需要显式将包infi.clickhouse\orm降级到1.0.4版本:
要求.txt

...
infi.clickhouse_orm==1.0.4

它允许使用带有sqlalchemy clickhouse预期行为的\u build \u params函数(以下版本的infi.clickhouse \u orm没有传递导致“身份验证失败..”错误的密码)。
或者也可以用于修复此错误的fork,例如adaiboy fork。
我会避免使用官方的sqlalchemy clickhouse,因为:
未提交给主服务器的修复程序(“最新提交时间为2019年1月23日”!!)
新功能未添加
Pandas等有一些问题
clickhouse驱动程序是sqlalchemy clickhouse的最佳选择。

4xy9mtcn

4xy9mtcn2#

根据@vladimir回复。我试过了

pip uninstall infi.clickhouse_orm
pip install infi.clickhouse_orm==1.0.4

它对我有用。谢谢

相关问题