2008-09-23 58 views
3

微軟已經選擇不發佈Jet的64位版本,他們的Access數據庫驅動程序。有誰知道一個很好的選擇?微軟Jet的64位替代品

下面是噴氣支持我需要的特定功能:

  • 多個用戶可以通過網絡連接到數據庫。
  • 用戶可以使用Windows資源管理器在打開數據庫時複製數據庫而不會冒任何損壞風險。 Access目前爲我的客戶提供了足夠的可靠性。
  • 無需使用.Net即可在C++中正常工作。

替代品,我認爲,我不認爲可以工作(雖然我的理解可能是不正確的):

  • SQLite的:如果多個用戶通過網絡連接到數據庫,它將成爲損壞。
  • Firebird:複製正在使用的數據庫可能會破壞原始數據庫。
  • SQL Server:正在使用的文件被鎖定,無法複製。
  • VistaDB:這似乎是.Net特定的。
  • 編譯爲32位並使用WOW64:另一個依賴項要求我們在64位編譯,即使我們不使用任何64位功能。
+0

複製要求的動機是什麼? – 2008-09-23 17:51:08

+0

如果你的應用程序不需要任何64位功能,你可以編譯x86,然後所有的噴氣機提供商將工作。 – 2008-09-23 17:57:20

+0

不可思議!人們急於發佈答案!例如,我不明白什麼意思是「複製數據庫」:複製表?記錄?做什麼的?用戶將如何處理它們?這些將在「複製數據庫」之前由用戶更新嗎?請更加明確。 – 2008-09-23 19:46:56

回答

1

您正在尋找的是帶有便攜式.mdf文件的SQL Server Express。要避開復制限制,您需要確保相關軟件不會保持連接打開(即創建斷開的數據訪問層)。

1

@Orion:同意,OP會建議去與2005年的SQL Express(如果可能)。交易斷路器能夠在使用/附加數據庫時複製數據庫,這與SQL無關,而無需使用某種可以複製「使用中」文件的備份工具。

另一種方法是將備份和恢復自動化到漫遊機器上,但這遠離能夠獲取文件副本的很長一段路要走。

1

另一種可供選擇的方法是SQL Server Compact Edition(CE)。我相信這有64位二進制文​​件。

我也同意Orion和Kev關於複製數據庫的說法。

2
  • 用戶可以在打開數據庫的同時複製數據庫,而不會冒任何損壞風險。

你不能這樣做與任何數據庫文件與多個用戶和/或進程修改它。

1

我要做的是創建一個單獨的32位可執行文件,它連接到Jet,我的64位應用程序可以通過COM進行通信。

這滿足了我對「像Jet一樣工作」的一般要求,因爲它是Jet。我的客戶沒有獲得64位的好處,但其他要求更重要。