我有一个位于服务器 x 上的访问数据库,iis 正在服务器 y 上运行。我的网页之一从访问数据库访问数据。如果有人打开了访问数据库,例如我们网络上的最终用户,则网页将失败,并显示“...已由另一个用户独占打开”错误消息。
我创建了一个本地访问数据库并使用链接表以便以这种方式访问表。即使如此,我仍然收到已由另一个用户独占打开的错误。如果我通过 Windows 资源管理器浏览到服务器 x 并打开数据库,我可以毫无问题。所以我的问题是如何模拟与数据库的相同类型的连接而不引发错误,这是访问数据库的权限问题还是连接字符串中允许我访问数据库的内容。
由于它在我的 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;")
有一些mdb 中的选项 http://office.microsoft.com/en-us/access-help/set-options-for-a-shared-access-database-mdb-HP005188297.aspx更改数据库默认打开方式的方法,这些应该是您的第一个调用端口,特别是将“默认打开模式”设置为“共享”。
您已经拆分了数据库(共享后端中的数据表、链接表以及前端中的其余部分)。确保每个用户使用前端 mdb 的单独副本,否则您将遇到锁定问题。
有一个命令行开关(/excl)可以设置独占模式,但是您只需忽略它即可打开共享数据库,所以我怀疑这是一个问题。
您可能已经知道这一点,但是“Shared http://msdn.microsoft.com/en-us/library/ms973875.aspx#methodscope_topic7" 修饰符与应用程序或用户之间的共享无关,但在类的实例之间共享连接变量(c# 等效项是“static”)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)