Wprowadzenie do plików blokady (laccdb i ldb) w programie Access

Wprowadzenie

Plik z rozszerzeniem „laccdb” lub „ldb” odgrywa ważną rolę w schemacie wieloużytkownikowym aparatu bazy danych programu Microsoft Access. Plik z rozszerzeniem „laccdb” lub „ldb” służy do określania, które rekordy są zablokowane w udostępnionej bazie danych i przez kogo. Plik „laccdb” jest używany z bazami danych accdb, a plik „ldb” — z bazami danych "mdb". Zarówno pliki „laccdb”, jak i „ldb” są często nazywane plikami blokady.

Automatyczne blokowanie tworzenia i usuwania plików

Dla każdej bazy danych otwartej do użytku udostępnionego jest tworzony plik „laccdb” lub „ldb” do przechowywania nazw komputerów i zabezpieczeń oraz do stosowania blokad o rozszerzonym zakresie bajtów. Plik blokady zawsze ma taką samą nazwę jak otwarta baza danych i znajduje się w tym samym folderze co otwarta baza danych. Jeśli na przykład otworzysz (do użytku udostępnionego) przykładową bazę danych Northwind.accdb w C:\users\<username>\documents\, plik o nazwie Northwind.laccdb zostanie automatycznie utworzony w tym samym folderze dokumentów.

Gdy ostatni użytkownik zamyka współdzieloną bazę danych, plik blokady jest usuwany. Jedynymi wyjątkami są sytuacje, gdy użytkownik nie ma praw do usuwania lub gdy baza danych jest oznaczona jako uszkodzona. Wówczas plik blokady nie jest usuwany, ponieważ zawiera informacje o tym, kto korzystał z bazy danych w momencie, gdy baza danych została oznaczona jako uszkodzona.

Wymagane uprawnienia w folderze

Jeśli planujesz udostępniać bazę danych, plik bazy danych powinien znajdować się w folderze, w którym użytkownicy mają uprawnienia do odczytu, zapisu, tworzenia i usuwania. Nawet jeśli użytkownicy mają mieć różne uprawnienia do plików (np. niektórzy tylko do odczytu, a inni do zapisu), wszyscy użytkownicy współdzielący bazę danych muszą mieć uprawnienia do odczytu, zapisu i tworzenia w tym folderze. Możesz jednak przypisać poszczególnym użytkownikom uprawnienia tylko do odczytu do pliku accdb lub mdb, zezwalając jednocześnie na pełne uprawnienia do tego folderu.

Uwaga

Jeśli użytkownik otworzy bazę danych z wyłącznym dostępem (klikając strzałkę po prawej stronie przycisku Otwórz, a następnie klikając pozycję Otwórz z wyłącznością), blokowanie rekordów nie jest używane. Dlatego program Microsoft Access nie próbuje otworzyć ani utworzyć pliku blokady. Jeśli baza danych jest zawsze otwarta do użytku wyłącznego, użytkownik musi mieć tylko uprawnienia do odczytu i zapisu w folderze.

Zawartość pliku blokady

Dla każdej osoby, która otwiera udostępnioną bazę danych, aparat bazy danych programu Access zapisuje wpis w pliku „laccdb” lub „ldb” bazy danych. Rozmiar poszczególnych wpisów to 64 bajty. Pierwsze 32 bajty zawierają nazwę komputera (na przykład JohnDoe). Drugie 32 bajty zawierają nazwę zabezpieczeń (na przykład Administrator). Maksymalna liczba jednoczesnych użytkowników, które obsługuje aparat bazy danych programu Access, wynosi 255. Dlatego rozmiar pliku blokady nie jest większy niż 16 kilobajtów.

Uwaga

Rozwiązanie serwera plików może obsługiwać do 255 jednoczesnych użytkowników, ale jeśli użytkownicy rozwiązania często dodają i aktualizują dane, dobrym rozwiązaniem dla rozwiązania serwera plików programu Access jest obsługa nie więcej niż 25–50 użytkowników. Aby uzyskać więcej informacji, zobacz Rozdział 1. Opis tworzenia klientów/serwerów programu Microsoft Access 2000.

Gdy użytkownik zamknie udostępnioną bazę danych, jego wpis nie zostanie usunięty z pliku blokady. Jednak wpis użytkownika może zostać zastąpiony, gdy inny użytkownik otworzy bazę danych. Oznacza to, że nie można użyć samego pliku blokady w celu określenia, kto obecnie korzysta z bazy danych.

Korzystanie z plików blokady

Aparat bazy danych programu Access używa informacji z pliku blokady, aby uniemożliwić użytkownikom zapisywanie danych na stronach lub w rekordach zablokowanych przez innych użytkowników oraz ustalenie, kto ma zablokowane inne strony lub rekordy. Jeśli aparat bazy danych programu Access wykryje konflikt blokady z innym użytkownikiem, odczyta plik blokady w celu uzyskania dostępu do komputera i nazwy zabezpieczeń użytkownika, który ma zablokowany plik lub rekord.

W większości przypadków konfliktu blokady jest wyświetlany ogólny komunikat „Konflikt zapisu”, który umożliwia zapisanie rekordu, skopiowanie go do Schowka lub usunięcie wprowadzonych zmian. Jednakże w niektórych sytuacjach pojawia się następujący komunikat o błędzie:

Nie można zablokować nazwy tabeli tabeli<; obecnie używana przez nazwę> zabezpieczeń użytkownika <na nazwie> komputera<.>

Uwaga

Stan informacji w pliku blokady nie ma wpływu na stan bazy danych. Jeśli plik blokady zostanie uszkodzony, cała baza danych powinna nadal działać poprawnie. W komunikatach o konfliktach blokad może być jednak widoczny zakodowany tekst zamiast nazw użytkowników.

Za pomocą języka Visual Basic for Applications Microsoft można wyprowadzić listę użytkowników zalogowanych do określonej bazy danych. Więcej informacji o tym, jak to zrobić, oraz przykładowy kod można znaleźć w sekcji Jak określić, kto jest zalogowany do bazy danych przy użyciu narzędzia Microsoft Jet UserRoster w programie Access.