"Not a valid password" 反映加密的 Access 数据库时出错

"Not a valid password" error when reflecting an encrypted Access database

我是sqlalchemy的初学者,我想在数据库中反映我的table反对,但总是return无效的密码,即使密码是正确的。我不明白为什么会这样。当我尝试检查他们 return 我的 table 名称时,我的密码、连接字符串或 create_engine 是正确的。 当我的 数据库没有密码 没问题时,我可以将它反映给 Object,这太奇怪了。 但为什么当我用密码 反映数据库时 它是错误的,总是 return “不是有效密码” ??,

My MS. Access Tbl 1

My MS. Access Tbl 2

Error in Reflect but My Table name is returned

This is my Code

因为好奇我也做了一个测试select数据,果然成功取回数据

it's returned my data and success created connection

when i add some code for testing

我觉得都对,但为什么反映不出来??,求助。

My Reference connection_string

My Reference SqlAlchemy Automap Reflect

我刚刚发布了 sqlalchemy-access 版本 1.1.1 来解决这个问题。请注意,如 Getting Connected 中所述,如果您想将直通 ODBC 连接字符串与加密数据库一起使用,您需要在两个位置提供密码:

driver = "{Microsoft Access Driver (*.mdb, *.accdb)}"
db_path = r"C:\Users\Public\test\sqlalchemy-access\gord_test.accdb"
pwd = "tiger"
connection_string = (
    f"DRIVER={driver};"
    f"DBQ={db_path};"
    f"PWD={pwd};"
    f"ExtendedAnsiSQL=1;"
)
connection_uri = (
    f"access+pyodbc://admin:{pwd}@/"
    f"?odbc_connect={urllib.parse.quote_plus(connection_string)}"
)
engine = sa.create_engine(connection_uri)