Úvod do souborů zámku (laccdb a ldb) v aplikaci Access

Úvod

Soubor „.laccdb“ nebo „.ldb“ hraje důležitou roli ve víceuživatelském schématu databázového stroje Microsoft Access. Soubor „.laccdb“ nebo „.ldb“ slouží k určení, které záznamy jsou uzamčené ve sdílené databázi a kým. Soubor „.laccdb“ se používá s databázemi .accdb a soubor „.ldb“ se používá s databázemi „.mdb“. Soubory „.laccdb“ i „.ldb“ se běžně označují jako zamykací soubory.

Automatické vytvoření a odstranění zamykacího souboru

Pro každou databázi, která je otevřena pro sdílené použití, je vytvořen soubor „.laccdb“ nebo „.ldb“ pro uložení názvů počítačů a zabezpečení a pro umístění zámků rozšířeného rozsahu bajtů. Soubor zámku má vždy stejný název jako otevřená databáze a je umístěn ve stejné složce jako otevřená databáze. Pokud například otevřete (pro sdílené použití) ukázkovou databázi Northwind.accdb v C:\users\<username>\documents\, ve stejné složce dokumentů se automaticky vytvoří soubor s názvem Northwind.laccdb.

Kdykoli poslední uživatel zavře sdílenou databázi, soubor zámku se odstraní. Jedinými výjimkami jsou situace, kdy uživatel nemá práva k odstranění nebo když je databáze označena jako poškozená. Potom se soubor zámku neodstraní, protože obsahuje informace o tom, kdo používal databázi v době, kdy byla databáze označena jako poškozená.

Požadovaná oprávnění složky

Pokud plánujete sdílet databázi, soubor databáze by měl být umístěn ve složce, kde mají uživatelé oprávnění ke čtení, zápisu, vytváření a odstraňování. I když chcete, aby uživatelé měli různá oprávnění k souborům (například někteří pouze pro čtení a někteří pro čtení a zápis), všichni uživatelé sdílející databázi musí mít oprávnění ke čtení, zápisu a vytváření složky. Můžete však přiřadit oprávnění pouze pro čtení souboru .accdb nebo .mdb pro jednotlivé uživatele a zároveň povolit úplná oprávnění ke složce.

Poznámka

Pokud uživatel otevře databázi s výhradním přístupem (kliknutím na šipku napravo od tlačítka Otevřít a poté kliknutím na tlačítko Otevřít s výhradním přístupem), zamykání záznamů se nepoužívá. proto se Microsoft Access nepokouší otevřít nebo vytvořit soubor zámku. Pokud je databáze vždy otevřena pro výhradní použití, uživatel musí mít oprávnění pouze pro čtení a zápis do složky.

Obsah souboru zámku

Pro každou osobu, která otevře sdílenou databázi, zapíše databázový stroj Access záznam do souboru „.laccdb“ nebo „.ldb“ databáze. Velikost každé položky je 64 bajtů. Prvních 32 bajtů obsahuje název počítače (například JohnDoe). Druhých 32 bajtů obsahuje název zabezpečení (například Admin). Maximální počet souběžných uživatelů, které databázový stroj Access podporuje, je 255. Proto velikost souboru zámku nikdy není větší než 16 kB.

Poznámka

Ačkoli řešení souborového serveru může podporovat až 255 současných uživatelů, pokud uživatelé vašeho řešení budou často přidávat data a aktualizovat data, je dobré, aby řešení souborového serveru Access nepodporovalo více než 25 až 50 uživatelů. Další informace naleznete v části Kapitola 1: Vysvětlení vývoje klienta/serveru Microsoft Access 2000.

Když uživatel zavře sdílenou databázi, záznam uživatele se ze souboru zámku neodstraní. Záznam uživatele však může být přepsán, když databázi otevře jiný uživatel. To znamená, že k určení, kdo aktuálně používá databázi, nemůžete použít samotný soubor zámku.

Použití souboru zámku

Databázový stroj aplikace Access používá informace o souboru zámku k tomu, aby zabránil uživatelům v zápisu dat na stránky nebo záznamy, které jiní uživatelé zamkli, a ke zjištění, kdo má zamčené jiné stránky nebo záznamy. Pokud databázový stroj aplikace Access zjistí konflikt zámku s jiným uživatelem, přečte soubor zámku, aby získal název počítače a zabezpečení uživatele, který má soubor nebo záznam zamčený.

Ve většině situací konfliktu uzamčení obdržíte obecnou zprávu „Konflikt zápisu“, která vám umožní uložit záznam, zkopírovat jej do schránky nebo zrušit provedené změny. Za určitých okolností se však zobrazí následující chybová zpráva:

Nelze zamknout název> tabulky tabulky<, který se aktuálně používá podle uživatelského <bezpečnostního názvu> v názvu> počítače<.

Poznámka

Stav informací v souboru zámku nemá žádný vliv na stav databáze. Pokud dojde k poškození souboru zámku, vše v databázi by mělo stále fungovat správně. Ve všech zprávách o konfliktu uzamčení však můžete místo uživatelských jmen vidět zakódovaný text.

Pomocí jazyka Microsoft Visual Basic for Applications můžete vytvořit výstup seznamu uživatelů, kteří jsou přihlášeni do určité databáze. Další informace o tom, jak to provést, a ukázkový kód naleznete v části Jak zjistit, kdo je přihlášen k databázi pomocí Microsoft Jet UserRoster v aplikaci Access.