2010-09-01 88 views
1

好吧,我解釋之前......我知道訪問應該基本上不會再使用了。訪問數據庫的替代品

我的應用程序現在使用訪問的可移植性..它的內部應用程序,並使私人/內部數據庫存儲快照。

問題是,它使用JET 4.0,它在64位操作系統中不被支持,並且坦白地說,它不再被很好地實現。

我正在開發使用C#.NET visual studio 2008.我正在尋找一種方法來做到這一點與其他一些數據庫類型,這將不需要我在用戶計算機上安裝任何其他。我看着sqlite,但有沒有簡單的方法來實現它在視覺工作室

一個想法?

+0

只要你知道限制,並且不要試圖讓它太聰明,訪問仍然可以使用 – STW 2010-09-01 16:36:38

+0

看看我接近你的問題之一http://stackoverflow.com/questions/2990750/how-to-choose-light-version-of-database-system – adopilot 2010-09-01 22:00:56

回答

9

您可以使用SQL Server Compact 3.5(SQL Server 2008的嵌入式版本)。

+0

看起來很有希望。所以我不需要在用戶計算機上安裝任何額外的組件來使這個數據庫工作? – Tyler 2010-09-01 18:34:56

+1

根據http://msdn.microsoft.com/en-us/library/bb190958%28v=SQL.100%29.aspx你仍然需要在用戶電腦上安裝一個運行時間 – stombeur 2010-09-01 19:41:12

+0

sql server compact並不需要*從你的程序中安裝分離,只需在你的項目中引用dll:s並將它們標記爲本地複製,然後你就可以開始了。 – Stefan 2010-09-01 21:26:59

2

的SQL Server Express版本應該來與Visual Studio。這是安裝時的一種選擇,IIRC。

2

Access有幾個關鍵特性: - 單用戶 - 需要安裝

替代品這給你(至少):

  • SQL緊湊型(不需要安裝,單用戶)
  • SQLite的(不需要安裝,單用戶 - 雖然多用戶支持)
  • 的SQL Express(多用戶需要安裝)
+2

訪問不是alawys單用戶,它只是更簡單的方式。 – HLGEM 2010-09-01 20:32:47

0

這是人們繼續使用Access的原因之一。當然你需要一個簡單的解決方案,不需要在客戶端進行任何安裝。

到目前爲止,我們都假定您的用戶與SQL Server斷開連接。如果他們可以連接,你可以免費回家。如果您需要支持只讀斷開連接使用,那麼問題就更小了,如果需要從斷開連接的用戶那裏獲取更新的數據,則會出現更多問題。

你能告訴我們更多關於你需要什麼嗎?

2

正如已經提到的,SQL CE是一個很好的選擇。如果數據不是私有的,並且沒有併發用戶(如果使用Access,則很可能),您也可以考慮使用xml。 Xpath提供了數據庫查詢和存儲通常需要的許多功能。你也不需要安裝任何東西。

4

我推薦System.Data.Sqlite(http://sqlite.phxsoftware.com/),一個託管的開源ADO。圍繞開源Sqlite數據庫的淨包裝。無需安裝 - 您只需在解決方案中包含單個DLL即可。它具有佔用空間小,加密和性能良好的特點。

+0

我廣泛使用SQLite進行本地數據存儲。關於它的好處是沒有安裝。只要確保System.Data.Sqlite庫與您的應用程序一起部署,它就能創造奇蹟。 – thorkia 2010-09-01 20:03:57

0

Firebird可以訪問一個很好的替代,並有很好的點網絡驅動程序

Here是火鳥之間的比較Embedded和SQL Server精簡版

0

如何XML?易於使用,並且適用於任何平臺。如果你不熟悉它,不是很容易實現,但是一旦你瞭解它的工作原理,它就相當不錯。