Ms access MicrosoftAccess2007&;电力用户

Ms access MicrosoftAccess2007&;电力用户,ms-access,ms-access-2007,Ms Access,Ms Access 2007,我们使用MS Access 2007作为数据库,应支持访问受限的用户(高级用户): 数据库应为所有用户共用(因此不能位于用户的专用文件夹中) 我们不允许为特定目录的所有用户授予R/W权限 然而,我们需要所有用户都能够使用这个数据库 谁能想出解决这个问题的办法? (我只能考虑为此作业编写一个服务,但我相信一定有更好的服务)可以用作后端数据库,并且不需要为每个人授予文件夹的写入权限 可以使用将Access数据库表迁移到SQL Server Express 使用SQL Server Express

我们使用MS Access 2007作为数据库,应支持访问受限的用户(高级用户):

  • 数据库应为所有用户共用(因此不能位于用户的专用文件夹中)
  • 我们不允许为特定目录的所有用户授予R/W权限
  • 然而,我们需要所有用户都能够使用这个数据库
谁能想出解决这个问题的办法? (我只能考虑为此作业编写一个服务,但我相信一定有更好的服务)

可以用作后端数据库,并且不需要为每个人授予文件夹的写入权限

可以使用将Access数据库表迁移到SQL Server Express

使用SQL Server Express作为数据库服务器将大大提高多用户环境中访问的稳定性和可靠性。我在Access上工作了几年,安装了20多个并发用户。如果您正在执行类似的操作,我强烈建议您使用Sql Server或Sql Server Express作为后端数据库。

请查看以帮助您做出决策。就我个人而言,如果您的用户超过4个,那么我不建议使用Access作为共享数据库。不过,我使用了这个解决方案,我们将访问作为SQL Server后端的前端,在这里我们在本地缓存SQL数据,以便更快地访问,并将必要的数据更改推回到SQL Server。并使该访问文件驻留在客户端计算机上

将Access放在任何地方都需要该目录上的R/W权限,因为Access将在该目录中创建锁文件(或者它过去一直是)


如果您坚持使用Access,我会使用连接到SQL Server后端的Access前端。如果用户不多(最多4-8个),网络共享选项是可行的。

您希望将MDB拆分为前端MDB,其中包含查询、表单、报表、宏和模块,后端MDB中仅包含表和关系。FE被复制到每个网络用户计算机。FE MDB链接到位于服务器上的后端MDB中的表。您对FE MDB进行更新,并将其分发给用户,可能是作为MDE

更多信息请参见“下载”页面。请参见“下载”页面以使其相对轻松。该实用程序还非常好地支持终端服务器/Citrix


现在我不太明白为什么你有第二个项目符号中提到的限制,在服务器上的某个地方必须有一个公用文件夹,所有用户都有R/W权限。请更详细地解释这一点。

你是在Access本身或完全不同的层中运行UI,而只使用Access作为你的数据库后端吗ave客户端一整天都在愉快地运行20-25个用户,而且运行良好。一些表有800K条记录。我曾经在一家我们这样做的公司工作。当我们将所有用户迁移到SQL Server Express时,我们的应用程序性能翻了一番,稳定性的提高基本上超出了规模。其中一些是20+我们呃,但大多数都是五个。但这确实需要it部门参与。通常情况下,这是一个非常麻烦的问题。如果您在多用户环境中访问的稳定性和可靠性方面遇到问题,那么您要么有一个不稳定的网络,要么使用通过WAN或无线网络的访问。如果您使用在多用户场景中,后端的Access数据库,这不是它是否会崩溃的问题,而是何时崩溃的问题。不,Robert Harvey——这是你的能力问题。如果你不能设计一个带有Jet/ACE后端的Access应用程序,而这个后端永远不会崩溃,那么你就没有足够的能力在第一时间尝试这项工作。每两个月一次或者三年?没有数据丢失?有25个用户?现在该应用程序应该升级到SQL Server了。但我被一个Dilbert的PHB(尖头老板)取消了也许有点道理。我开发的应用程序有大约120个表单、150个表、200个报表,大约有400个查询。该应用程序没有问题;它是一个很好的设计,只是一个大的应用程序,做了很多事情。微软甚至看过它。但他们也说它是最大的一个应用程序他们见过的Access应用程序。Jet数据库在这种压力下表现不佳。我说的是实话,将Access后端移动到SQL Server大大提高了其稳定性。