[英]Scaleable MS Access ASP.NET app
我受以下限制,沒有辦法解決:
該應用程序是一種只讀工具,可讀取APP_Data文件夾中的許多Microsoft Access數據庫。 大部分都能正常工作。
在負載下,它開始無法訪問Access MDB。
訪問Access MDB以限制訪問錯誤的最佳策略是什么? 現在我嘗試,然后在出現錯誤時執行Thread.Sleep(500),然后重試。
我認為在訪問Access數據庫時,可能有一些方法可以修改隔離/並發/鎖定選項,以消除管理鎖的開銷。 也許嘗試 “ Mode = Share Deny None;”。 在連接字符串中。 如果您隨時隨地以任何方式修改數據,我將不會使用它,因為它幾乎會丟棄您通過數據庫獲得的所有隔離/並發管理。 使用風險自負。
數據多久更改一次? 如果它是只讀的,您可以將數據庫中的數據加載到緩存中並從那里讀取而不是直接從數據庫中讀取嗎?
什么樣的特定錯誤得到。 我認為它們是連接錯誤?
這是一個可怕的解決方案,但是如果您確實“僅憑這些工具迷失在荒島上”並且訪問數據庫完全是只讀的,那么請為每個數據庫創建多個副本,並僅允許一定數量的連接進入任何一個他們一次。 例如,如果您有2個訪問數據庫,則MdbAA和MdbBB然后創建如下副本:
然后,當請求MdbAA時,請查看當前有多少個請求正在訪問MdbAA01,如果超過閾值,則嘗試MdbAA02,等等。對MdbBB文件的任何請求都執行相同的操作。
就像我說的那樣,這是非常糟糕的解決方案,但是如果您真的別無選擇,那么它可能對您有用。 但實際上,聽起來應用程序的訪問權限(和共享主機)已不足夠了,因此該升級架構了。
花一點錢,並獲得一些SQL存儲。 您花了多少時間將拐杖安裝到損壞的發聲系統上?
如果該項目值得做,那么就值得投資一些冷錢。
如果企業試圖迫使您選擇這條路線,請解釋為什么您擁有的選擇不可行。 如果首先建議使用該選項,則增加一對並說明為什么輸入錯誤,但這是解決問題的方法。
對不起,如果那變成輕浮。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.