Simptomi
Ako pokušate da koristite Microsoft Jet (Access) bazu podataka iz više instanci iste aplikacije na istom računaru ili na različitim računarima, dobićete sledeću poruku o grešci:
-2147467259 greška ODBC Microsoft Access upravljački program: baza podataka je stavljena u stanje nepoznatog korisnika koji ga sprečava da se otvori ili zaključa.
Ova greška se javlja i sa Microsoft ODBC upravljačkim programom za Access i sa OLE DB dobavljačem za jet.
Uzrok
Da biste pokrenuli. mdb datoteku pomoću više instanci, Jet će koristiti interval za zaključavanje i ponovni pokušaj ponovnog pokušaja. Međutim, u okviru velikih uslova opterećenja možete da prekoračite ove intervale.
Rešenje
Microsoft obezbeđuje primere programiranja samo za ilustraciju, bez izričite ili implicitne, uključujući, ali ne ograničavajući se na, podrazumevane garancije o mogućnostima prodaje i/ili prikladnosti za određenu namenu. Ovaj članak pretpostavlja da ste upoznati sa programskim jezikom koji se pokazuje i alatke koje se koriste za kreiranje i otklanjanje grešaka u procedurama. Stručnjaci za podršku korporacije Microsoft mogu da pomognu u objašnjenju funkcionalnosti određene procedure, ali neće izmeniti te primere da bi obezbedili dodatnu funkcionalnost ili izgradnju procedura kako bi ispunile vaše specifične potrebe. Ako imate ograničeno iskustvo programiranja, možda ćete želeti da se obratite Microsoft certifikovanim partnerima ili Microsoft Savjetnim uslugama. Za više informacija posetite ove Microsoft Web lokacije: Microsoft certifikovani partneri- https://partner.Microsoft.com/Global/30000104Microsoft savetodavne usluge- http://support.Microsoft.com/GP/advisoryserviceza više informacija o opcijama podrške koje su dostupne i o tome kako da se obratite korporaciji Microsoft posetite sledeću microsoft Web lokaciju:http://support.Microsoft.com/default.aspx?scid=FH; EN-US; CNTACTMSSledeće rešenje proširuje odgodu ponovnog pokušaja za Jet kako biste mogli da koristite dodatne instance. Međutim, ne preporučuje se da koristite ovo zaobilaženje ako se formira veliki broj ispravki; Ovo zaobilaženje je namenjeno samo za čitanje baza podataka. Kodu možete dodati sledeći primer rukovaoca greškama. Imajte u vidu da ovaj rukovalac radi samo sa ADO i da koristi funkciju spavanja koju morate da deklarišete u odeljku "Opšte 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
Ovo ponašanje je po dizajnu.
Više informacija
Prethodno pomenuto rešenje je samo za režim "samo za čitanje". Microsoft ne podržava postavljanje jet. mdb datoteka pod visokim korisničkim opterećenjem. Microsoft izričito preporučuje da koristite Microsoft SQL Server ili Microsoft Data Engine (MSDE) umesto programa Access kada se visoki korisnik učita (odnosno, više od 15 instanci) zahteva ili se očekuje, naročito kada je potrebno ažuriranje.
Reference
Za više informacija o funkciji spavanja pogledajte dokumentaciju za MSDN biblioteku.