反映加密的 Access 数据库时出现“无效密码”错误
Posted
技术标签:
【中文标题】反映加密的 Access 数据库时出现“无效密码”错误【英文标题】:"Not a valid password" error when reflecting an encrypted Access database 【发布时间】: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
【问题讨论】:
【参考方案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)
【讨论】:
嗨,感谢您的评论,感谢您解决问题,我已经更新了它,现在可以使用了。谢谢。以上是关于反映加密的 Access 数据库时出现“无效密码”错误的主要内容,如果未能解决你的问题,请参考以下文章
将 MySQL 数据导入 Access 2010 时出现问题
将记录添加到 Access 数据库时出现“INSERT INTO 语句中的语法错误”
从 Java 更新 Access 数据库时出现“不支持的整理排序顺序”错误