【问题标题】:"Not a valid password" error when reflecting an encrypted Access database反映加密的 Access 数据库时出现“无效密码”错误
【发布时间】:2021-09-28 16:08:41
【问题描述】:

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

My MS. Access Tbl 1

My MS. Access Tbl 2

Error in Reflect but My Table name is returned

This is my Code

因为好奇我也做了一个测试选择数据,结果成功检索到数据

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

【问题讨论】:

    标签: python ms-access sqlalchemy sqlalchemy-access


    【解决方案1】:

    我刚刚发布了 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)
    

    【讨论】:

    • 嗨,感谢您的评论,感谢您解决问题,我已经更新了它,现在可以使用了。谢谢。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-01
    • 1970-01-01
    • 2017-12-11
    • 2015-03-11
    • 1970-01-01
    相关资源
    最近更新 更多