2011-04-13 57 views
0

是否有可能將嵌入式數據庫作爲文件在網絡磁盤上共享並由多個用戶同時使用(同時讀取和寫入)?用於支持多個連接的C#的嵌入式數據庫

緩慢不是問題,但不應該安裝數據庫軟件。 Microsoft SQL Server Compact是否適合這樣的目的?

回答

1

我發現this page on the msdn這表明MS SQL Server精簡的那個版本3.5及以上應O.K.在這種情況下。

爲了支持在同一時間 訪問 同一個數據庫,SQL Server精簡3.5提供 多用戶支持多個應用程序。多用戶支持 允許數據庫的多個用戶 同步數據,而不必在 使用合併複製或遠程數據 訪問(RDA)之前斷開數據庫。有關多用戶同步的更多信息 ,請參閱 多用戶訪問和RDA以及多用戶 訪問和同步。

但是,我個人沒有這方面的經驗,所以不能肯定地說,如果這肯定會奏效。

+0

我希望得到個人經驗的確認。不管怎麼說,還是要謝謝你! – ipavlic 2011-04-13 08:55:37

+0

@ipavlic - 我明白,如果沒有人能夠以這種方式提供使用MSSQL CE的真實世界體驗,那麼可以發送電子郵件給微軟的某個人。 – 2011-04-13 11:48:22

0

對於.NET的SQLIte應該爲你工作!

SQLite是一個小的C庫 實現一個自包含的,可嵌入的 ,零配置SQL 數據庫引擎。其特點包括:

  • 交易原子性,一致性,隔離和持久的(ACID)甚至 後系統崩潰和電源 故障。零配置 - 無需設置或管理 。
  • 實現大部分SQL92。 (不支持的功能)
  • 完整的數據庫存儲在單個磁盤文件中。
  • 數據庫文件可以在具有不同字節 訂單的機器之間自由共享。
  • 支持最大2 TB(241字節)大小的數據庫。
  • 字符串和BLOB的大小僅受可用內存的限制。
  • 小碼足跡:小於30K行C代碼,(在1486 GCC)小於250KB代碼 空間
  • 比最常見的 操作流行的客戶機/服務器的數據庫引擎更快。
  • 簡單易用的API。包括的TCL綁定。許多其他語言的綁定可單獨使用 。
  • 備受好評的源代碼,測試覆蓋率超過95%。
  • 自包含:無外部依賴關係。
  • 信息來源屬於公共領域。用於任何目的。
+0

SQLite文檔指出:「[...]兩個或多個客戶端程序可能同時修改同一數據庫的同一部分,導致數據庫損壞。因爲這個問題是由於底層文件系統的實現,SQLite沒有什麼能夠阻止它。 一個很好的經驗法則是,你應該避免在通過網絡文件系統從多臺計算機同時訪問同一個數據庫的情況下使用SQLite。 – ipavlic 2011-04-13 08:36:04

+0

在它周圍寫一個封裝來處理連接呢? – Zolomon 2011-04-13 11:28:06

+2

我想如果他不想安裝數據庫軟件,那麼他可能也不想編寫數據庫軟件。 – 2011-04-13 11:50:22

1

你試過VistaDB? 我相信它應該符合你的要求。

+0

它似乎滿足要求。但價格標籤相當高。 – ipavlic 2011-04-13 08:53:57