PRB: Napaka – 2147467259, ko poskušate odpreti isto datoteko MDB iz več primerkov


Znaki


Če poskušate uporabiti zbirko podatkov Microsoft Jet (Access) iz več primerkov istega programa v istem računalniku ali v različnih računalnikih, se prikaže to sporočilo o napaki:
-2147467259 napaka ODBC Microsoft Accessov gonilnik: zbirka podatkov je bila v stanju, ki jo je ustvaril neznan uporabnik, ki onemogoča odpiranje ali zaklep.
Do te napake pride z gonilnikom za Microsoft ODBC za Access in ponudnikom OLE DB za Jet.

Razlog


Če želite zagnati datoteko. mdb za več primerkov, uporabi Jet funkcijo zakasnitve zaklepanja in intervala ponovitve. Vendar pa lahko v razdelku visoke pogoje obremenitve morda prekoračite te intervale.

Rešitev


Microsoft ponuja primere programiranja le za ponazoritev, brez garancije, ki so izražene ali IMPLICIRANE, vključno z izrecnimi jamstvi za prodajo in/ali ustreznostjo za določen namen. V tem članku je predvideno, da ste seznanjeni z programskim jezikom, ki je prikazan, in orodji, ki se uporabljajo za ustvarjanje in odpravljanje napak. Microsoft support Professionals vam lahko pomaga pojasniti funkcionalnost določenega postopka, vendar teh primerov ne bodo spreminjali, da bi zagotovili dodano funkcionalnost ali sestavili postopke za izpolnitev vaših posebnih potreb. Če imate omejeno izkušnjo programiranja, se boste morda želeli obrniti na Microsoftovega certificiranega partnerja ali Microsoftove svetovalne storitve. Če želite več informacij, obiščite ta Microsoftova spletna mesta: Microsoftovi certificirani partnerji – https://partner.Microsoft.com/Global/30000104Microsoftove svetovalne storitve – http://support.Microsoft.com/GP/advisoryserviceče želite več informacij o možnostih podpore, ki so na voljo, in o tem, kako stopiti v stik z Microsoftom, obiščite to microsoftovo spletno mesto:http://support.Microsoft.com/default.aspx?scid=fh; EN-US; CNTACTMSTa rešitev razširi zakasnitev ponovitve za Jet, tako da lahko uporabite dodatne primerke. Vendar pa ni priporočljivo, da uporabite to nadomestno rešitev, če se oblikuje veliko število posodobitev; Ta rešitev je namenjena le za branje zbirk podatkov. Kodi lahko dodate naslednji vzorčni program za obravnavo napak. Upoštevajte, da ta rutina za obravnavo deluje le z ADO in uporablja funkcijo spanja , ki jo morate deklarirati v razdelku splošnih izjav.
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

Stanje


To vedenje je po načrtih.

Več informacij


Zgoraj navedena rešitev je le za način samo za branje. Microsoft ne podpira dajanja datotek Jet. mdb v okviru visoke obremenitve uporabnika. Microsoft močno priporoča, da uporabite Microsoft SQL Server ali Microsoft Data Engine (MSDE) namesto Accessa, ko visoki uporabniki bremenijo (to je več kot 15 primerkov), ki so zahtevani ali pričakovani, še posebej, če je zahtevana posodobitev.

Reference


Če želite več informacij o funkciji mirovanja , glejte dokumentacijo za knjižnico MSDN.