Domanda

In questo momento ho un progetto in cui vorrei poter estrarre le righe da un database di Access che un prodotto di terze parti utilizza per archiviare le sue informazioni. Probabilmente ci sarà un piccolo numero di utenti che colpiscono questo database contemporaneamente alla mia "esportazione" processo, quindi sono un po 'preoccupato per l'integrità dei dati e l'accesso simultaneo.

Probabilmente incontrerò problemi con il mio processo di importazione .NET (usando LINQ / ADO.NET /?) quando sta cercando di estrarre i dati dall'MDB mentre qualcun altro sta salvando una riga? Come funziona il blocco di Access?

È stato utile?

Soluzione

Non ci dovrebbero essere problemi. I problemi possono verificarsi solo su operazioni di scrittura simultanee. Il blocco da MS Access basato sui blocchi dei file nel file ldb. I blocchi si verificano solo sulle pagine e non sul file completamente. Poiché i blocchi si trovano nel file ldb e non nel file mdb, non vi sono problemi con la lettura parallela.

Altri suggerimenti

Nei precedenti lavori con Access (quando stavo usando 2003 per cose) l'unica cosa in cui mi imbattevo era che occasionalmente una lettura bloccava le righe appena sopra e sotto la lettura corrente. Tuttavia, credo che questo potrebbe essere stato un problema isolato con la nostra applicazione.

Quando apri il database, non tentare di aprirlo in modalità di sola lettura (anche se potresti pensare che abbia senso). Quando sei il primo utente in, Access apre il file mdb in modalità di sola lettura e non crea un ldb, costringendo anche tutti gli utenti successivi ad essere in sola lettura.

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