Access数据库已由其他用户独占打开

Ste*_*ver 5 ms-access iis-7.5

我有一个位于服务器x上的访问数据库,iis正在服务器y上运行.我的一个网页访问来自访问数据库的数据.如果某人打开了访问数据库,请说明我们网络上的最终用户网页失败,并且......已经由另一个用户错误消息专门打开了.

我创建了一个本地访问数据库并使用链接表以便以这种方式访问​​表.即使我仍然由另一个用户错误专门打开.如果我通过Windows资源管理器并浏览到服务器x并打开数据库,我可以毫无问题.所以我的问题是如何模拟与数据库相同类型的连接,而不会抛出错误,这是访问数据库的权限还是我的connectionstring中允许我访问数据库的内容.

因为它在我的connection.open命令期间抛出错误我认为它是权限相关或我需要添加到我的连接字符串的其他东西.我已授予对我的本地访问数据库实例所在的本地目录中的IIS AppPool \的完全控制权,但似乎没有什么区别.

我的连接字符串如下所示:

Private Shared connSheriff As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\\serverx\directory\Access\MyDatabase.mdb;Jet OLEDB:Database Password=property;")
Run Code Online (Sandbox Code Playgroud)

Ste*_*ner 1

mdb 中有一些选项可以更改数据库默认打开方式,这些应该是您的第一个调用端口,特别是将“默认打开模式”设置为“共享”。

您已经拆分了数据库(共享后端中的数据表、链接表以及前端中的其余部分)。确保每个用户使用前端 mdb 的单独副本,否则您将遇到锁定问题。

有一个命令行开关(/excl)可以设置独占模式,但是您只需忽略它即可打开共享数据库,所以我怀疑这是一个问题。

您可能已经知道这一点,但“ Shared ”修饰符与应用程序或用户之间的共享无关,而是在类的实例之间共享连接变量(c# 等效项是“static”)