2011-12-28 18 views
1

我开发了一个系统,其中一组用户(现在50人左右)连续注册数据并查看注册数据。系统将数据存储在Access数据库中,并且我目前对所有用户使用连接模式adModeShareDenyNone,以便数据库永不锁定对数据库的访问。有没有办法使用ADO打开共享Access数据库的共享只读连接?

然而,它已经被要求开发一个简单的Excel工作表作为一个接口,用户可以写一个sql select语句,然后根据这个(通过VBA)检索数据到工作表。这非常简单,我创建了这样的操作,但是我希望它可以防止操作语句(插入,更新,删除)的执行,即充当只读系统。

但是,我似乎无法找到一种方法来做到这一点,而不锁定其他用户的数据库,这是不行的,因为数据库是由多个用户不断使用。有没有办法做我想要的?我想过其他连接模式,但它们(除了adModeShareDenyNone)似乎都适用某种锁定。

+0

为了澄清,用户输入自己的SQL语句?如果是这样,你能不能通过VBA验证/限制字符串,然后才允许执行它? – joshua9k

回答

1

adModeRead怎么样?这表示只读权限和不共享。

+0

+1绝对地,read_only连接是答案,这也应该避免任何锁定问题 –