从MS Access应用程序迁移到.Net应用程序的优点

时间:2011-03-25 09:35:52

标签: c# .net ms-access

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

3 个答案:

答案 0 :(得分:13)

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

如果您正在寻找证明移民工作合理性的理由,您应该问自己以下问题:

  • 当前应用程序中是否有任何缺少使用Access前端无法轻松开发的功能?这将是改为.NET的一个很好的理由。
  • 将来是谁在进行维护?一个C#程序员,对VBA只有一点点经验,或者是一位经验丰富的Access程序员,对C#没有或只有一点点了解?或者你完全可以自由选择你喜欢的任何类型的维护开发人员,所以这没有什么区别?
  • 您是否坚持使用Access应用程序的特定MS-Office版本?或者可以轻松迁移到更新的版本?将自己与特定的Office平台分离可能是改变开发平台的一个很好的理由。
  • 你的后端怎么样?您是否满意(即使您的前端进入.NET,您也可以将Access保留为后端),或者您是否需要真正的客户端 - 服务器数据库(在大多数情况下,您可以将Access应用程序保留为前端比完整的.NET迁移更省力?像MS-SQL服务器这样的CS数据库允许你更多的同时用户,并且具有改进的安全模型(当然是为了管理开销的成本),但事实上你没有争论为什么你不能将Access作为前端。
  • 当前应用程序中使用了多少Access的“RAD”功能(例如,可以使访问表单自动切换到类似表格的模式,或报告功能)。对于其中一些功能,.NET框架中没有现成的解决方案,您必须以不同的方式解决或使用第三方工具。另一方面,这是继续使用Access的一个很好的理由。
编辑:这是一篇来自Joel Spolsky的超过10年的文章

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

这似乎与此主题有些相关。阅读他对丢弃现有应用程序的想法,以便从头开始。

答案 1 :(得分:3)

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

我刚刚完成了一个MS Access应用程序的重新实现,该应用程序包含大约2000行VBA代码,10个表单,50个表和80个Java查询,因为它包含大量计算和与数据库无关的I / O. Java应用程序在大约18000行代码中实现了相同的目标。整合所有不同数据库所花费的精力相当可观。 使用C#或其他.NET技术会有所改善,但不是很明显。

这完全取决于您的Access应用程序的设计目的。

答案 2 :(得分:2)

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

请记住,以下所有组合均有效:

  1. Access中的数据和前端
  2. 存储在Access中的数据,前端以.net
  3. 编写
  4. 存储在SQL Server中的数据,前端在Access
  5. 存储在SQL Server中的数据,前端位于.net
  6. 一般来说,如果您的数据库和用户数量在增长,但前端的复杂性不是,我建议选项3.如果数据和复杂性都在增长,那么整个数据可能是值得的hog并升级到Windows / Web .net应用程序,点击SQL Server并进行完全重写。这将需要更多的专业技能和可能更长的开发时间,但不可测量的灵活性和调整性能的更多选择。