【发布时间】:2011-11-23 19:30:47
【问题描述】:
我正在使用数百个 msaccess 数据库。我正在尝试构建数据库、表和其他对象的摘要。为了找出给定数据库中的所有表和对象,我使用查询
select * from MSysObjects
但是,我收到 pyodbc 错误消息
[Microsoft][ODBC Microsoft Access Driver] Record(s) cannot be read; no read permission on 'MSysObjects'
如何以编程方式更改所有 msaccess 数据库的权限。我尝试使用“GRANT SELECT ON”语句,但收到错误消息
[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'
我使用的连接字符串是这种形式的
Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\sample.mdb;
非常感谢您的帮助。
【问题讨论】:
-
MSysObjects 是系统表,获取读取权限可能有些不便。使用 VBA 和 DAO 获得摘要绝不是困难的。您不妨阅读tek-tips.com/viewthread.cfm?qid=1045679
标签: python ms-access pyodbc grant