0

我必須創建一個Access 2003數據庫並在100個用戶中共享它,用戶不會做任何修改,只會查看幾個使用計劃任務每​​天(和一次)生成的報告主機。Shared Access 2003數據庫性能

同時有100個用戶會在這種情況下打破錶演嗎?

您對此工作流程有何建議?

排除:

  • 使用的數據庫服務器(SQLSERVER,...等)是出題目的
  • 我已經想過輸出報告到靜態html,但現在我想先評估整個數據庫的共享(因爲可能需要過濾功能)
  • 我想避免複製

回答

1

你已經使用了「主機」這個詞。請記住,Access不是一個真正的客戶端 - 服務器引擎:它僅僅提供對數據的訪問;消費者將數據下拉到本地機器,在本地機器上,其本地Access運行時或本地Access開發版本針對下載的數據執行查詢。整個「貨運列車」的數據可以通過電線傳送到桌面。

幾年前,我們有一個龐大的數據庫,客戶在Access中需要(最終將其移至Oracle)。某些查詢會在15-30秒內耗盡可用局域網帶寬的90%-100%,在此期間,局域網上完全不同數據庫的其他寫入操作將超時,並導致數據損壞。

因此,您的方案的主要關注點是其他應用程序可能會嚴重降級的影響。這將取決於數據庫的大小以及報告背後的查詢性質。

如果可以的話,我建議「報告」報告,以便報告的每次運行都不會調用實例化後面的數據的查詢。

編輯:另外,如果有必要,將有一個Web服務器在同一臺計算機上運行的訪問「主持人」執行查詢,並服務於最終結果報告出來到消費者瀏覽器作爲HTML。這將減少帶寬消耗。局域網成爲「雲」。

+0

你好。實際上,我使用** host **這個詞來指代共享數據庫訪問的中央機器。我還決定每天收集新數據後立即將報表查詢結果存儲到表中,而不是實際創建報表。然後,當用戶將運行一個報告時,它將建立在此表的頂部,因此唯一執行的查詢將是過濾器(基於用戶輸入);這個查詢很簡單,看起來像這樣: SELECT * FROM T其中X = B和A = Z AND(R在10和1010100之間)AND SS> TT ...等等你認爲如何? – CoolStraw 2011-02-24 12:55:15

+0

如果您將查詢結果插入到新表中,以便報告基於數據的一小部分靜態子集,那麼您可以按照我的建議「製作」它們。那很好。但是SQL語句的表面簡單並不重要;它是必須通過電線的字節數。帶寬消耗將取決於報告背後的靜態表的大小。 – Tim 2011-02-24 13:02:10

+0

我明白了,然後我會試着弄清楚網絡負載的樣子,並嘗試設置它。非常感謝你,非常好的一點! – CoolStraw 2011-02-24 13:41:40

1

如果你給每個用戶自己的前端的副本,並鏈接到TH e數據源,那麼如果網絡達到臨界水平,您可能會失去100個用戶。我有大約100個用戶只能訪問DB大多讀,但他們是不是所有使用它的同時

您可以使用優秀autoFE更新 www.autofeupdater.com/自動化前端安裝

+0

感謝您的提示。我儘管不能使用任何第三方軟件,所以autofe超出了範圍。 – CoolStraw 2011-02-24 12:29:29

+0

在我瞭解AutoFE之前,我使用位於網絡驅動器上的小型引導程序訪問數據庫「滾動」自己的「滾動」。當用戶打開這個數據庫時,它會檢查他們的計算機是否有真正的前端,如果他們沒有安裝並啓動它。如果他們這樣做,則檢查它是否是最新的並在版本號小於服務器上的版本號時更新它。所有這些只使用訪問數據庫,沒有第三方工具 – 2011-02-24 13:02:44

+0

是的,但是我實際上並不知道現在是否真的需要這個,因爲我會做一個版本然後部署它,就是這樣,但我會記住這一點。非常感謝你 – CoolStraw 2011-02-24 13:36:35

相關問題