2011-03-20 108 views
4

有多少用戶可以同時打開與Microsoft Access數據庫的連接? 我使用asp.net 4.0編寫我的應用程序。有多少用戶可以打開與Microsoft Access的連接?

<add name="E_ShopAccessConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\report.mdb;Persist Security Info=True" providerName="System.Data.OleDb"/> 

回答

7

Access數據庫擁有256個連接的限制,但在數據庫驅動程序每個進程64個連接的限制,並作爲IIS是一個單一的過程中你的極限是64

如果你小心正確地關閉連接,命令和數據讀取器,對於大量用戶來說這通常已經足夠了。每個訪問者不需要自己的連接。

你很可能你用完了連接前運行到其他限制。如果你有很多訪問者,你會發現Access數據庫不夠快,你需要一個更高級的數據庫系統。

如果你用完了連接,這很可能是因爲您不關閉數據庫對象得當,使他們仍然保持數據庫連接的生命,直到他們是垃圾回收。

+1

Jet/ACE限制實際上是255個併發用戶,可能會或可能不會直接映射到您認爲的連接方面。但這是一個理論上的限制 - 沒有人能超過實際理論極限的50%。但總的來說,我想說Jet/ACE首先不是Web服務器應用程序的合適數據存儲。 – 2011-03-24 20:23:44

-2

不夠。

將取決於版本,你可以有5至10,但其安全真正< 3「每個用戶的工作高音量」。

技術上講,它可以得到高得多,但也有一些不好的經驗試圖恢復文件。一般來說,我們建議> 5,因爲平均值應該移到SQL Server之類,作爲前端MS Access映射的後端。

+3

對於ASP.Net實現,少於三個可能是正確的,但對於常規的Access前端後端實現來說,這個數字相當低。我已經有至少10個人進行非常持續的數據輸入,另外15個人正在做其他的事情和報告。 – 2011-03-21 00:21:34

4

如果您正在使用從ASP.NET MS訪問網站的單個用戶的上下文中運行,因此不應該有太多的問題。

[大多數人不會同意,但我有一個經驗使用MS Access與ASP和ASP.NET在一個相當高的交易網站,它工作正常,確保數據庫是最新版本的MS訪問]

我會考慮使用SQL Server Express作爲替代。

5

根據微軟:與每個數據庫256併發打開讀/寫連接的限制最多每個進程64連接。

但我跟上面20連接體驗性能下降顯著。

相關問題