我正在升級最初使用MS Access構建的jewllery商店的庫存系統。該應用程序存儲項目,客戶,供應商,並顯示有關項目存儲的數據。報告工具應被視爲爲可打印格式的項目生成報告。C庫存系統數據庫#
該系統應該用C#構建,但我還沒有決定用於該應用程序的數據庫引擎。你有什麼建議?我想到了SQLite,但我需要記住,從舊數據庫遷移到新更新數據庫是必須的。並且因爲它最初是用MS Access構建的。我應該堅持與MS Access並建立我的應用程序?
編輯:這是一個單用戶系統。
我正在升級最初使用MS Access構建的jewllery商店的庫存系統。該應用程序存儲項目,客戶,供應商,並顯示有關項目存儲的數據。報告工具應被視爲爲可打印格式的項目生成報告。C庫存系統數據庫#
該系統應該用C#構建,但我還沒有決定用於該應用程序的數據庫引擎。你有什麼建議?我想到了SQLite,但我需要記住,從舊數據庫遷移到新更新數據庫是必須的。並且因爲它最初是用MS Access構建的。我應該堅持與MS Access並建立我的應用程序?
編輯:這是一個單用戶系統。
對於單用戶桌面應用程序供應商在微軟生態系統中,考慮SQL Server Compact Edition而不是全面的服務器產品。下面是微軟的概述的相關部分:
的Microsoft SQL Server 2005精簡 版(SQL Server精簡版) 是專爲誰需要 重量輕開發,在工藝關係 數據庫解決方案爲他們 應用程序,可以開發並部署在桌面以及 移動設備上。 SQL Server Compact 版本運行時可用於開發 並在桌面上部署應用程序。
的SQL Server Compact Edition是一個 功能強大的輕型關係 數據庫引擎,可以很容易地 由 開發桌面應用程序支持熟悉的結構化查詢 語言(SQL)語法和提供 開發模型和API一致 與SQL Server。
它的一些限制(沒有嵌套事務,例如)在its Wikipedia article和比較被描述爲other embedded databases abound(據我所知,還沒有一個關於一個最好的選擇達成共識)。
有at least one SO question解決從Access遷移和a poster here鏈接到SQL Server CE工具列表,包括各種遷移軟件。
因爲您使用的是C#,Sql Server似乎是合乎邏輯的人選; MySql也是一個不錯的選擇。
我不會考慮在生產應用程序中使用MS-Access或SqlLite;有太多的缺點/限制 - 例如參見all this stuff。
我同意這一點,你可以使你的代碼數據庫與ORM無關,那麼它並不重要。 – 2010-02-18 21:21:55
我想知道你關心的SQLite有什麼特殊的限制。 – 2010-02-18 21:34:20
@ [Daniel Straight]:最大的缺點是它依賴於O/S級文件鎖定來控制併發訪問;請參閱http://www.aspfree.com/c/a/Database/Using-SQLite-for-Simple-Database-Storage/ – 2010-02-18 23:12:10
Sql Server,那麼你可以添加報告服務,並且訪問的遷移路徑應該很容易。你甚至可以從快速版開始。
這個決定取決於很多因素。就像有多少併發用戶將訪問此應用程序(Access不允許超過5個)。
這些問題的答案將幫助您選擇正確的產品。那裏有很多不同的東西。到目前爲止,我對SQL服務器和MySQL(這是免費的)非常滿意。我會避開甲骨文,儘管我發現與其合作並且通常是一堆垃圾是一件麻煩事。
[編輯]
根據您最後的評論,我會去與SQL Server Express與高級服務http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d。該產品仍然是免費的。唯一的限制是數據庫不能大於4千兆字節或類似的東西。我希望這有幫助。
單個用戶。除基本數據存儲外,還需要報告服務。 [這與我試圖製作的東西類似。] [1] [1]:http://www.executivpro.com/inventoryimage.html。你認爲數據庫用於構建該應用程序? – DanSogaard 2010-02-18 01:17:16
@DanSogaard - 檢查我最後的編輯。 – James 2010-02-18 21:20:53
如果您想堅持使用MS Technologies,SQL Server Express是一個不錯的選擇。由於您的轉換將會是一次性的,您可以通過各種方式進行轉換 - 查找數據庫轉換工具(看起來像是其中的一部分),甚至可以使用DTS,SSIS或手工編寫您自己的轉換工具代碼,如果你需要的話。
這是一個桌面應用程序。 SQL服務器是服務器類引擎,我需要一個易於部署的更簡單的解決方案。 – DanSogaard 2010-02-18 01:16:51
這就是我建議的SQL Server Express。看看這裏的功能(http://www.microsoft.com/express/Database/)。我的理解是,SQL Server Express是爲您想要的應用類型而創建的,它具有使用常用SQL Server方法的優點,並且可以在需要時擴展到全面的SQL Server。 – 2010-02-18 02:11:24
@DanSogaard:我同意@Wagner Silveira:SQL Server 2008 Express可能是您最好的選擇。它非常穩定,同時仍然是輕量級的,並且在需要時可以以更大版本的形式進行擴展。另外它是免費的!不能失去,在那裏。 – Randolpho 2010-02-18 21:26:24
看看PostgreSQL的,http://www.postgresql.org/
它是免費的,速度快,對.NET
Linq很酷。 – 2010-02-18 01:05:07