gpt4 book ai didi

ms-access - Access 女士 : Record(s) cannot be read; no read permission on [table]

转载 作者:行者123 更新时间:2023-12-04 11:57:26 25 4
gpt4 key购买 nike

我编写了用于下载 mdb 文件并通过 OLEDB 提供商读取它们的脚本。一切正常,但如果我尝试从表中读取,则会引发异常:

Ms Access:无法读取记录;没有对 tblMytable 的读取权限

 var cmd = new OleDbCommand("SELECT * FROM tblMytable", conn);
var reader = cmd.ExecuteReader();

我直接在 Ms Access 中为用户“administrator”更改了权限并且它有效。但问题是,这个脚本必须每天运行两次,并且下载大约 20 个文件。所以不可能手动更改权限。

是否可以以编程方式更改表的读取权限?

非常感谢您的任何想法!

最佳答案

我通过使用 system.mdw 文件解决了这个问题。我将此文件从“c:\Users\Administrator\AppData\Roaming\Microsoft\Access\”(在 Win7 中)复制到应用程序目录(App_Data)并修改了连接字符串。

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\Database.MDB;Persist Security Info=True;Jet OLEDB:System Database=|DataDirectory|\System.MDW;
var conn = new OleDbConnection(connectionString);
如果仍然无法读取数据,我执行grant 命令:
"GRANT SELECT ON TABLE tblTable TO PUBLIC"

它有效:)

关于ms-access - Access 女士 : Record(s) cannot be read; no read permission on [table],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361259/

25 4 0