2011-03-25 147 views
8

在MS-Access中开发的现有中型应用程序目前仅由15个用户使用。我们现在正在修复是否要刮掉现有的MS-Access应用程序,并在.Net(可能是Windows或Web)应用程序中开发相同的功能。 由于这不是一个巨大的应用程序,我们有任何积极的将功能移动到.Net应用程序?两个(.Net Vs MS-Access)之间的比较 - 在​​性能,安全性等方面,我们也会赞赏在.Net中开发应用程序的优势也会对我有所帮助。从MS Access应用程序迁移到.Net应用程序的优势

+0

这是一种通常比光线产生更多热量的问题,但您在这里非常幸运,并且已经收到了三个非常高质量和充分考虑的答案。 – 2011-03-27 20:22:39

回答

13

恕我直言一般性比较“.NET”与“MS-Access”没有任何意义。当然,您可以将您当前的应用程序与已迁移应用程序的预期功能/性能/安全性等进行比较,但必须了解应用程序的详细信息以及您如何设计“.NET”端口的更多信息。

当你正在寻找理由来证明移民的努力,你应该问自己以下问题:

  • 是否有人丢失当前应用程序的功能不能使用Access前端很容易地开发?这将是改用.NET的一个很好的理由。
  • 谁在将来进行维护?一位只有VBA经验的C#程序员,或者一位经验丰富的Access程序员,没有或只有一点关于C#的知识?或者你完全可以自由选择任何你喜欢的维护开发商,所以这没有什么区别?
  • 你用Access应用程序坚持特定的MS-Office版本吗?还是可以轻松地将其迁移到新版本?从特定的Office平台解耦你可能是改变开发平台的一个很好的理由。
  • 你的后端呢?您是否满意(即使您的前端使用.NET,您也可以将Access作为后端),还是需要真正的客户端 - 服务器数据库(在大多数情况下,可以将Access应用程序作为前端应用程序比完整的.NET迁移少得多)?像MS-SQL服务器这样的CS数据库可以为你提供更多同时使用的用户,并且有一个改进的安全模型(当然,这是为了降低管理开销),但实际上并不能说明你为什么不能将Access作为前端。
  • 当前应用程序中使用了多少Access的“RAD”功能(例如,访问表单可以自动切换到类似表格的模式或报告功能)。对于其中一些功能,.NET框架中没有现成的解决方案,您必须通过不同的方式或使用第三方工具来解决这些问题。另一方面,这将是继续使用Access的一个很好的理由。

编辑:这里是来自乔尔斯波斯基

http://www.joelonsoftware.com/articles/fog0000000069.html

一个10多岁的文章,这似乎有点与此相关的话题。阅读他的想法,抛弃现有的应用程序,从头开始。

+1

关于后端在第四点中没有提到的一件事是,如果您可能需要远程访问(例如,Web应用程序,移动电话应用程序或基于Web的应用程序),则基于服务器的后端(如SQL Server)可为您提供更多选择和灵活性,或只需在笔记本电脑上远程使用应用程序)。优秀的职位! – HK1 2011-03-26 13:58:17

+1

这是一篇非常出色的文章。如果可能的话,我会给它+10,因为它真的把球击出了公园。我特别喜欢Spolsky的引用,因为这是我在面对客户这个问题时不断提出来的。 – 2011-03-27 20:20:49

3

当你的应用程序主要是一个工具来查看和编辑数据库中的数据记录时,MS Access似乎是一个很好的匹配,它使用与表格布局紧密结合的简单表单,而且你需要的很少或没有计算逻辑整个过程。

我刚刚完成重新实现一个MS Access应用程序,其中包含大量计算和I/O与数据库无关的大约2000行VBA代码,10个表单,50个表和80个查询。Java应用程序在大约18000行代码中实现了相同的目标。整合所有不同的数据库所花费的努力是相当可观的。这对于C#或其他.NET技术来说会更好一些,但并不显着。

这一切都取决于您的Access应用程序设计要做什么。

2

而不是将.net与Access进行比较,我怀疑你真正需要比较的是将数据存储在Access中以将数据存储在SQL Server中。

记住以下所有组合都是有效的:

  1. 数据和前端的接入
  2. 存储在访问数据,前端使用.NET编写存储在SQL Server
  3. 数据,前在结束访问存储在SQL Server,.NET中的前端
  4. 数据

一般来说,如果你的数据库和n用户数量在增长,但前端的复杂性不是,我建议使用选项3.如果数据和复杂性都在增长,则可能需要花费大量时间并升级到Windows/Web .net。应用程序打到SQL Server并进行完整的重写。这需要更多的专业技能和可能更长的开发时间,但要提高灵活性和更多选择来调整性能。

相关问题