Domanda

sono costretto dal seguente, niente da fare:

  1. dati di sola lettura: Microsoft Access
  2. JET 4.0 OLDB
  3. ASP.NET 2.0
  4. condiviso, molto poco controllo.
  5. OR Mapper - LLBL Gen Pro

L'applicazione è uno strumento di sola lettura che legge un sacco di database di Microsoft Access nella cartella App_Data. Funziona bene per lo più.

Sotto carico Si parte in mancanza di accesso alle banche multilaterali di sviluppo di accesso.

Qual è la migliore strategia per l'accesso alle MDBs di accesso per limitare gli errori in loro l'accesso? In questo momento provo, poi Thread.Sleep (500) su un errore e riprovare.

È stato utile?

Soluzione

Credo che ci possono essere modi per modificare i / concorrenza / opzioni di blocco di isolamento quando si accede ai database di Access per eliminare sovraccarico di serrature di gestione. Forse cercare "Mode = Share Deny None;" nella stringa di connessione. Non vorrei usare questo se si sta modificando i dati in qualsiasi modo in qualsiasi momento anche se, come è praticamente buttare fuori tutta la gestione di isolamento / concorrenza che si ottiene con un database. Utilizzare a proprio rischio.

Altri suggerimenti

Come fa spesso il cambiamento dei dati? Se è di sola lettura si può caricare i dati dai database nella cache e leggerlo da lì invece che direttamente dalle banche dati?

Che tipo di errori specifici che ottengono. Presumo che sono errori di connessione?

Si tratta di una soluzione di orribile, ma se siete veramente "perso su un'isola deserta con solo questi strumenti" e le basi di dati di accesso sono completamente sola lettura, quindi creare più copie di ciascuna di esse e consentire solo un certo numero di collegamento in uno di essi alla volta. Ad esempio, se si dispone di 2 basi di dati di accesso, MdbAA e MdbBB quindi creare copie come:

  • MdbAA01
  • MdbAA02
  • MdbAA03
  • MdbBB01
  • MdbBB02
  • MdbBB03

Poi, quando arriva una richiesta per MdbAA, vedere quante richieste sono attualmente accedendo MdbAA01, se oltre la soglia, quindi provare MdbAA02, ecc Fare lo stesso per eventuali richieste al file MdbBB.

Come ho detto questo è molto cattiva soluzione, ma se avete davvero nessuna scelta allora potrebbe funzionare per voi. Ma realisticamente suona come l'applicazione ha superato di accesso (e il padrone di casa in comune) quindi è il momento di aggiornare l'architettura.

Trascorrere un po 'di soldi e un po' di archiviazione di SQL. Quanto tempo hanno speso lavorando sul montaggio di una stampella per un sistema di suono rotto?

Se il progetto vale la pena farlo allora vale la pena di investire un po 'di freddo rigido contanti.

Se un'azienda sta cercando di forzare giù questa strada, spiegare perché la possibilità che hai non è praticabile. Se lei ha suggerito l'opzione, in primo luogo, crescere un paio e spiegare il motivo per cui hai sbagliato, ma questo è come si può risolvere il problema.

Scusate se che viene fuori come irriverente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top