2011-03-25 45 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並進行完整的重寫。這需要更多的專業技能和可能更長的開發時間,但要提高靈活性和更多選擇來調整性能。

相關問題