密码带@无法连接数据库

Jam*_*mes 2 python odbc sqlalchemy

当我尝试从 Python 连接数据库时,我的密码包含特殊字符,例如:123@789。我的连接因此失败。

我按如下方式连接到数据库:

engine = sqlalchemy.create_engine('sybase+pyodbc://user:123@789@Database')
Run Code Online (Sandbox Code Playgroud)

che*_*ner 8

@对密码中的URL 进行编码。改编自https://docs.sqlalchemy.org/en/13/core/engines.html

import urllib.parse
password = urllib.parse.quote_plus("123@789")  # '123%40456'
engine = sqlalchemy.create_engine(f'sybase+pyodbc://user:{password}@Database')
Run Code Online (Sandbox Code Playgroud)

或者,让sqlalchemy我们使用 为您生成 URL sqlalchemy.engine.url.URL