Introduktion till att låsa filer (laccdb och ldb) i Access

Anteckning

Office 365 ProPlus byter namn till Microsoft 365-appar för företag. Mer information om den här ändringen finns i det här blogginlägget.

Inledning

Filen ".laccdb" eller ".ldb" har en viktig roll i fleranvändarschemat för Microsoft Access-databasmotorn. Filen ".laccdb" eller ".ldb" används för att avgöra vilka poster som är låsta i en delad databas och av vem. Filen ".laccdb" används med .accdb-databaser och filen ".ldb" används med databaser ".mdb". Både ".laccdb" och ".ldb" kallas ofta låsfiler.

Lås och ta bort filer automatiskt

För varje databas som öppnas för delad användning skapas en ".laccdb"- eller ".ldb"-fil för att lagra dator- och säkerhetsnamn och för att placera utökade byteintervalllås. Låsfilen har alltid samma namn som den öppna databasen och finns i samma mapp som den öppna databasen. Om du till exempel öppnar (för delad användning) northwind.accdb-exempeldatabasen i skapas en fil med namnet C:\users\<username>\documents\ Northwind.laccdb automatiskt i samma dokumentmapp.

När den sista användaren stänger en delad databas tas låsfilen bort. De enda undantagen är när en användare inte har borttagningsrättigheter eller när databasen markeras som skadad. Låsfilen tas sedan inte bort eftersom den innehåller information om vem som använde databasen vid den tidpunkt då databasen markerades som skadad.

Behörighet som krävs för mappar

Om du planerar att dela med dig av en databas ska databasfilen finnas i en mapp där användare har läs-, skriv-, skapa- och ta bort behörigheter. Även om du vill att användarna ska ha olika filbehörigheter (till exempel en del skrivskyddade och vissa skrivskyddade), måste alla användare som delar en databas ha läs-, skriv- och skapa behörigheter till mappen. Du kan däremot tilldela skrivskyddade behörigheter till .accdb- eller .mdb-filen för enskilda användare men fortfarande ge fullständig behörighet till mappen.

Anteckning

Om en användare öppnar en databas med exklusiv åtkomst (genom att klicka på pilen till höger om knappen Öppna och sedan klicka på Öppna exklusivt) används inte postlåsning. Därför försöker inte Microsoft Access att öppna eller skapa en låsfil. Om databasen alltid öppnas för exklusiv användning behöver en användare bara ha läs- och skrivbehörighet till mappen.

Lås filinnehåll

För varje person som öppnar en delad databas skriver Access-databasmotorn en post i databasens fil ".laccdb" eller ".ldb". Varje post har en storlek på 64 byte. De första 32 bytena innehåller datornamnet (till exempel JohnDoe). De andra 32 bytena innehåller säkerhetsnamnet (till exempel Admin). Maximalt antal samtidiga användare som Access-databasmotorn stöder är 255. Därför är den låsta filstorleken aldrig större än 16 kilobyte.

Anteckning

Även om en filserverlösning kan ha stöd för upp till 255 samtidiga användare, är det en bra idé att använda en Access-filserverlösning för högst 25 till 50 användare om lösningen ofta lägger till data och uppdaterar data. Mer information finns i Kapitel 1: Förstå Microsoft Access 2000 klient/serverutveckling.

När en användare stänger en delad databas tas användarens post inte bort från den låsta filen. Men användarens post kan skrivas över när en annan användare öppnar databasen. Det innebär att du inte kan använda enbart låsfilen för att avgöra vem som använder databasen.

Lås filanvändning

Access-databasmotorn använder den låsta filinformationen för att hindra användare från att skriva data till sidor eller poster som andra användare har låst och för att avgöra vem som har andra sidor eller poster låsta. Om Access-databasmotorn upptäcker en låskonflikt med en annan användare läser den den låsta filen för att få dator- och säkerhetsnamnet för den användare som har filen eller posten låst.

I de flesta låskonflikter får du ett allmänt meddelande om "Skrivkonflikt" som gör att du kan spara posten, kopiera den till Urklipp eller släppa de ändringar du gjort. I vissa fall kan du få följande felmeddelande:

Det gick inte att låsa <table name> tabellen ; används för närvarande av användaren på datorn <security name> <computer name> .

Anteckning

Informationens status i den låsta filen påverkar inte databasens status. Om en låsfil skadas, ska allt i databasen fortfarande fungera korrekt. Men kodad text kan visas i stället för användarnamn i meddelanden om låskonflikter.

Med Microsoft Visual Basic for Applications kan du skapa en lista över användare som är inloggade i en viss databas. Mer information om hur du gör detta och exempelkod finns i Så här avgör du vem som är inloggad i en databas med hjälp av Microsoft Jet UserRoster i Access.