正如在类似的问题提到这里,以绕过
记录无法读取;没有对“ MSysQueries”的读取权限。
错误,您需要使用以下命令授予默认用户“ Admin”的SELECT特权
GRANT SELECT ON MSysQueries TO Admin
您可以从.NET OleDbConnection执行该sql语句,但是为此,您需要在连接字符串中指定默认工作组信息文件(System.mdw)的位置,如下所示:
myConnectionString =
@"Provider=Microsoft.ACE.OLEDB.12.0;" +
@"Data Source=C:\Users\Public\Database1.accdb;" +
@"Jet OLEDB:System database=C:\Users\Gord\AppData\Roaming\Microsoft\Access\System.mdw;";
可以通过读取值从Windows注册表中检索.mdw文件的路径。
Key:
HKEY_CURRENT_USER\Software\Microsoft\Office\14.0\Access\Access Connectivity Engine\Engines
Value:
SystemDB
(14.0
上面键中的值用于Access2010。其他版本的Access将具有不同的值。)