2010-02-18 189 views
3

我正在升級最初使用MS Access構建的jewllery商店的庫存系統。該應用程序存儲項目,客戶,供應商,並顯示有關項目存儲的數據。報告工具應被視爲爲可打印格式的項目生成報告。C庫存系統數據庫#

該系統應該用C#構建,但我還沒有決定用於該應用程序的數據庫引擎。你有什麼建議?我想到了SQLite,但我需要記住,從舊數據庫遷移到新更新數據庫是必須的。並且因爲它最初是用MS Access構建的。我應該堅持與MS Access並建立我的應用程序?

編輯:這是一個單用戶系統。

+0

Linq很酷。 – 2010-02-18 01:05:07

回答

4

對於單用戶桌面應用程序供應商在微軟生態系統中,考慮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工具列表,包括各種遷移軟件。

4

因爲您使用的是C#,Sql Server似乎是合乎邏輯的人選; MySql也是一個不錯的選擇。

我不會考慮在生產應用程序中使用MS-Access或SqlLite;有太多的缺點/限制 - 例如參見all this stuff

+0

我同意這一點,你可以使你的代碼數據庫與ORM無關,那麼它並不重要。 – 2010-02-18 21:21:55

+0

我想知道你關心的SQLite有什麼特殊的限制。 – 2010-02-18 21:34:20

+0

@ [Daniel Straight]:最大的缺點是它依賴於O/S級文件鎖定來控制併發訪問;請參閱http://www.aspfree.com/c/a/Database/Using-SQLite-for-Simple-Database-Storage/ – 2010-02-18 23:12:10

0

Sql Server,那麼你可以添加報告服務,並且訪問的遷移路徑應該很容易。你甚至可以從快速版開始。

2

這個決定取決於很多因素。就像有多少併發用戶將訪問此應用程序(Access不允許超過5個)。

  • 數據庫有多大?
  • 你期望增長多少?
  • 除了基本數據存儲之外,還需要哪些功能?
  • 預算是多少?

這些問題的答案將幫助您選擇正確的產品。那裏有很多不同的東西。到目前爲止,我對SQL服務器和MySQL(這是免費的)非常滿意。我會避開甲骨文,儘管我發現與其合作並且通常是一堆垃圾是一件麻煩事。

[編輯]

根據您最後的評論,我會去與SQL Server Express與高級服務http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=b448b0d0-ee79-48f6-b50a-7c4f028c2e3d。該產品仍然是免費的。唯一的限制是數據庫不能大於4千兆字節或類似的東西。我希望這有幫助。

+0

單個用戶。除基本數據存儲外,還需要報告服務。 [這與我試圖製作的東西類似。] [1] [1]:http://www.executivpro.com/inventoryimage.html。你認爲數據庫用於構建該應用程序? – DanSogaard 2010-02-18 01:17:16

+1

@DanSogaard - 檢查我最後的編輯。 – James 2010-02-18 21:20:53

7

如果您想堅持使用MS Technologies,SQL Server Express是一個不錯的選擇。由於您的轉換將會是一次性的,您可以通過各種方式進行轉換 - 查找數據庫轉換工具(看起來像是其中的一部分),甚至可以使用DTS,SSIS或手工編寫您自己的轉換工具代碼,如果你需要的話。

+0

這是一個桌面應用程序。 SQL服務器是服務器類引擎,我需要一個易於部署的更簡單的解決方案。 – DanSogaard 2010-02-18 01:16:51

+3

這就是我建議的SQL Server Express。看看這裏的功能(http://www.microsoft.com/express/Database/)。我的理解是,SQL Server Express是爲您想要的應用類型而創建的,它具有使用常用SQL Server方法的優點,並且可以在需要時擴展到全面的SQL Server。 – 2010-02-18 02:11:24

+0

@DanSogaard:我同意@Wagner Silveira:SQL Server 2008 Express可能是您最好的選擇。它非常穩定,同時仍然是輕量級的,並且在需要時可以以更大版本的形式進行擴展。另外它是免費的!不能失去,在那裏。 – Randolpho 2010-02-18 21:26:24