Del via


Innføring i låsefiler (laccdb og ldb) i Access

Innledning

Filen .laccdb eller .ldb filen spiller en viktig rolle i flerbrukerskjemaet til Microsoft Access-databasemotoren. .ldb Eller .laccdb -filen brukes til å bestemme hvilke poster som er låst i en delt database og av hvem. Filen .laccdb brukes med ACCDB-databaser, og .ldb filen brukes med .mdb-databaser. .laccdb Både filene og .ldb filene kalles ofte låsefiler.

Automatisk oppretting og sletting av låsefil

For hver database som er åpnet for delt bruk, opprettes en .laccdb fil .ldb for å lagre datamaskin- og sikkerhetsnavn og plassere utvidede byteområdelåser. Låsefilen har alltid samme navn som den åpnede databasen, og den er plassert i samme mappe som den åpnede databasen. Hvis du for eksempel åpner (for delt bruk) eksempeldatabasen Northwind.accdb i C:\users\<username>\documents\, opprettes en fil kalt Northwind.laccdb automatisk i samme dokumentmappe.

Når den siste brukeren lukker en delt database, slettes låsefilen. De eneste unntakene er når en bruker ikke har sletterettigheter eller når databasen er merket som skadet. Da slettes ikke låsefilen siden den inneholder informasjon om hvem som brukte databasen da databasen ble merket som skadet.

Nødvendige mapperettigheter

Hvis du har tenkt å dele en database, bør databasefilen være plassert i en mappe der brukere har lese-, skrive-, opprette- og sletterettigheter. Selv om du vil at brukere skal ha forskjellige filrettigheter (for eksempel noen skrivebeskyttet og noe skrivetilgang), må alle brukere som deler en database, ha lese-, skrive- og opprettetillatelser for mappen. Du kan imidlertid tilordne skrivebeskyttede tillatelser til .accdb eller .mdb-filen for enkeltbrukere, samtidig som du tillater fullstendige tillatelser til mappen.

Obs!

Hvis en bruker åpner en database med eksklusiv tilgang (ved å klikke på pilen til høyre for Åpne-knappen og deretter klikke på Åpne eksklusivt), brukes ikke oppføringslåsing. Microsoft Access prøver derfor ikke å åpne eller opprette en låsefil. Hvis databasen alltid åpnes for eksklusiv bruk, trenger en bruker bare lese- og skrivetilgang til mappen.

Låse filinnholdet

Access-databasemotoren skriver en oppføring i .laccdb eller .ldb -filen til databasen for hver person som åpner en delt database. Størrelsen på hver oppføring er 64 byte. De første 32 bytene inneholder datamaskinnavnet (for eksempel JohnDoe). De andre 32 bytene inneholder sikkerhetsnavnet (for eksempel Administrator). Maksimalt antall samtidige brukere som Access-databasemotoren støtter, er 255. Derfor er størrelsen på låsefilen aldri større enn 16 kilobyte.

Obs!

Selv om en filserverløsning kan støtte opptil 255 samtidige brukere hvis brukerne av løsningen ofte legger til data og oppdaterer data, er det lurt at en Access-filserverløsning ikke støtter mer enn 25 til 50 brukere. For mer informasjon kan du se Kapittel 1: Forstå Microsoft Access 2000 klient/server-utvikling.

Når en bruker lukker en delt database, fjernes ikke brukerens oppføring fra låsefilen. Brukerens oppføring kan imidlertid overskrives når en annen bruker åpner databasen. Dette betyr at du ikke kan bruke låsefilen alene for å finne ut hvem som bruker databasen.

Bruk av låsefilen

Access-databasemotoren bruker låsefilinformasjonen til å hindre brukere i å skrive data til sider eller poster som andre brukere har låst, og til å bestemme hvem som har andre sider eller poster låst. Hvis Access-databasemotoren oppdager en låsekonflikt med en annen bruker, leser den låsefilen for å få datamaskinen og sikkerhetsnavnet til brukeren som har filen eller posten låst.

I de fleste situasjoner med låsekonflikt får du en generell melding om skrivekonflikt som lar deg lagre posten, kopiere den til utklippstavlen eller droppe endringene du har gjort. I tillegg får du i enkelte tilfeller følgende feilmelding:

Kan ikke låse tabelltabellnavn<>. Brukes for øyeblikket av brukersikkerhetsnavnet><på datamaskinens <navn>.

Obs!

Tilstanden til informasjonen i låsefilen har ingen innvirkning på tilstanden til databasen. Hvis en låsefil blir skadet, skal alt i databasen fortsatt fungere som den skal. Du kan imidlertid se kryptert tekst fremfor brukernavn i meldinger om låsekonflikter.

Med Microsoft Visual Basic for Applications kan du sende ut en liste over brukere som er logget på en bestemt database. Hvis du vil ha mer informasjon om hvordan du gjør dette og eksempelkode, kan du se Slik finner du ut hvem som er logget på en database ved hjelp av Microsoft Jet UserRoster i Access.