Simptomi
Ako pokušate koristiti bazu podataka programa Microsoft Jet (Access) iz više instanci iste aplikacije na istom računalu ili na različitim računalima, prikazat će se sljedeća poruka o pogrešci:
-2147467259 error ODBC upravljački program za Microsoft Access: bazu podataka u državu je smjestio Nepoznati korisnik koji onemogućuje otvaranje ili zaključanje.
Ta se pogreška pojavljuje i pomoću Microsoftova upravljačkog programa za ODBC za Access i OLE DB davatelja usluga za Jet.
Uzrok
Da biste u više instanci pokrenuli. mdb datoteku, jet koristi kašnjenje zaključavanja i interval ponovnog pokušaja. No u uvjetima visokog opterećenja možete premašiti ove razmaci.
Rješenje
Microsoft nudi primjere programiranja samo za ilustraciju, bez jamstva ili izričita ili implicirana, uključujući, ali ne ograničavajući se na, implicirana jamstva o prodaji i/ili prikladnosti za određenu namjenu. U ovom se članku pretpostavlja da ste upoznati s prikazanjem programskih jezika i alatima koji se koriste za stvaranje i ispravljanje pogrešaka u postupcima. Microsoftovi profesionalci za podršku mogu objasniti funkcionalnost određenog postupka, ali oni neće izmijeniti ove primjere da bi omogućili dodane funkcionalnosti ili konstrukcijski postupci koji zadovoljavaju vaše specifične potrebe. Ako imate ograničeno programiranje, preporučujemo vam da se obratite Microsoftovu certifikatom ili Microsoftovu savjetodavnom servisu. Dodatne informacije potražite u sljedećim Microsoftovim web-mjestima: Microsoftovi certificirani partneri- https://partner.Microsoft.com/Global/30000104Microsoftove savjetodavne usluge- http://support.Microsoft.com/GP/advisoryservicedodatne informacije o dostupnim mogućnostima podrške i o tome kako se obratiti Microsoftu potražite na sljedećem Microsoftovu web-mjestu:http://support.Microsoft.com/default.aspx?scid=fh; EN-US; CNTACTMSSljedeće zaobilazno rješenje proširuje odgodu ponovnog pokušaja za Jet da biste mogli koristiti dodatne instance. Međutim, ne preporučuje se da koristite ovo zaobilazno rješenje ako se formira veliki broj ažuriranja; Ovo je zaobilazno rješenje namijenjeno samo čitanju baza podataka. U kodu možete dodati sljedeći ogledni rukovatelj pogreškama. Imajte na glavi da ovaj rukovatelj funkcionira samo sa programom ADO i koristi funkciju Sleep , koju morate proglasiti u odjeljku općenite deklaracije.
RetryHandler:' Retry until MAX_RETRIES are hit to increment your error count.errorcount = errorcount + 1If errorcount < MAX_RETRIES Then' Sleep a random amount of time, and retry the same operation. Sleep Int(MAX_SLEEP_INTERVAL * Rnd) + 1 ResumeElse' Retries did not help. Show the error, and fall out. MsgBox Err.Number & " " & Err.Description Exit SubEnd If
Status
To je ponašanje prema dizajnu.
Dodatne informacije
Prethodno navedeno zaobilazno rješenje samo je za način rada samo za čitanje. Microsoft ne podržava postavljanje datoteka programa jet. mdb u odjeljku povisok korisnik load. Microsoft preporučuje da koristite Microsoft SQL Server ili Microsoft podatkovni motor (MSDE) umjesto programa Access kada se velike korisničke opterećenja (to jest, više od 15 instanci) obavezno ili očekivano, posebno kada je potrebno ažuriranje.
Reference
Dodatne informacije o funkciji Sleep potražite u dokumentaciji za MSDN biblioteku.