我正在尝试对c#中的access 2007数据库运行以下查询:
OleDbCommand command = new OleDbCommand();
command.Connection = connect;
command.CommandText = "SELECT * FROM MSysQueries";
OleDbDataReader reader = command.ExecuteReader();
我得到一个错误:
无法读取记录;“msysquerys”没有读取权限。
有可能这样做吗?如果是,怎么办?我的印象是这是可能的,但我不完全确定。
2条答案
按热度按时间vwkv1x7d1#
正如在这里的类似问题中提到的,为了绕过
无法读取记录;“msysquerys”没有读取权限。
错误:您需要使用命令将选择权限授予默认用户“admin”
您可以从.net oledbconnection执行该sql语句,但要执行该语句,您需要在连接字符串中指定默认工作组信息文件(system.mdw)的位置,如下所示:
通过读取值,可以从windows注册表中检索到.mdw文件的路径
(价值观)
14.0
在上面的关键是访问2010年。其他版本的access将具有不同的值。)cyej8jka2#
您可以在access 2007中为执行此操作提供访问权限:
工具菜单->安全->用户和组权限。对msysobjects表授予管理员用户“读取数据”权限。
但您必须确保msysobjects不是出于安全原因而锁定的。