我目前是一个4人团队,负责开发和维护旧版MS Access应用程序。
应用程序非常庞大,包含数百种表单,报表,查询和表格。
目前我们将前端拆分为大约7个mde组件,每个组件本身就是一个应用程序,由一个公共前端连接,基本上只是一个菜单GUI。
我们使用链接表将此前端连接到MS Access后端,使用代码本身中的OpenDatabase(C:\ access.mdb)调用。此应用程序已存在一段时间,因此使用DAO连接到Access 97后端。
这意味着应用程序的每个用户都有自己的数据库本地副本以进行更改。我们有一个精心改变控制的环境,确保一次只有一个人可以处理数据,他们必须在将主数据库传递给下一个人之前验证他们的所有更改。
这种变化控制环境令人闷闷不乐,很快我们就需要在一个时间范围内进行更多的数据更改,使单个用户访问变得不可行。
因此,我们需要转向多用户访问,但对于多用户,我的意思是只有大约4个人。这些人可能并非物理上位于同一办公室,因此需要某种形式的远程数据库连接。
整个应用程序很可能在一两年内重新开始工作,将前端和后端从MS Access移开。但是,我们需要尽快进行多用户访问。
那么,多用户幸福的最快途径是什么?
我们正在考虑的建议包括:
编辑:回应以下评论。
应用程序处理的数据是高度安全的关键数据。它很少变化,必须经过验证才能显示导出前没有逻辑错误。实际上,数据受限于比应用程序本身更严格的限制!
数据以非平凡的方式相互关联。因此,由于复杂的业务逻辑,对一个表中的记录的更改可能使另一个表中的记录无效。因此,此时,mdb数据文件的一个副本被指定为主数据库。任何时候只有一个人拥有主人。如果要对其进行更改,则必须从当前拥有该数据库的人员那里获取该数据库。这通常不是问题,因为数据变化很少,足以让它有足够的时间发生。
然而,即将出现一个很大的变化,我们没有足够的时间以这种方式工作。我们必须让多个人同时处理这些数据。现在我知道你可以在网络驱动器上共享mdb文件,同一个办公室里有多个人在那个文件上工作,几乎没有风险,但是我们需要来自不同公司的人同时处理这些数据。据我所知,设置VPN以共享数据是一个糟糕的计划。
我相信我们必须将后端从MS Access更改为像SQL Server这样的东西。但是以这种方式转换架构有多容易?如何在SQL Server中表示MS Access表验证规则?
答案 0 :(得分:1)
答案 1 :(得分:0)
IMO无论您考虑使用哪种其他解决方案,您都必须将数据库转换为多用户服务器。有一个升级向导,应该证明是有用的(http://support.microsoft.com/kb/237980),你可能会遇到Access允许的项目,而SQL服务器不会,但在大多数情况下应该是无痛的。 您可以指向本地访问副本以使用此新数据源(例如通过ODBC),我相信它应该以相同的方式工作。多年来没有这样做,不知道那些字段验证规则(它们不会仍然在表格上?)会变成什么。您可以下载SQL服务器的试用版,并在一小时内完成,以了解它需要多少工作量。
答案 2 :(得分:0)
像往常一样,Albert Kallal给出了很好的答案。
如果要考虑升迁到SQL Server,可以使用SQL Server组中的工具。 用于访问的SQL Server迁移助手(SSMA访问) http://www.microsoft.com/sql/solutions/migration/access/default.mspx比访问升迁向导更好。
另请参阅http://www.granite.ab.ca/access/sqlserverupsizing.htm
上的Microsoft Access提示页面上关于SQL Server升迁的随机想法正如您从发布的评论中看到的那样,您的组织使用的术语变更控制是非传统的而且非常有趣。虽然我可以看到多年前试图找到远程办公室变更数据的解决方案的人会想出这个解决方案。我也可以看到它会如何令人窒息。