Access'te kilit dosyalarına (laccdb ve ldb) giriş

Giriş

".laccdb" veya ".ldb" dosyası, Microsoft Access veritabanı motorunun çok kullanıcılı düzeninde önemli bir rol oynar. ".laccdb" veya ".ldb" dosyası, paylaşılan veritabanında hangi kayıtların ve kimler tarafından kilitlenmiş olduğunu belirlemek için kullanılır. ".laccdb" dosyası, .accdb veritabanlarıyla ve ".ldb" dosyası da ".mdb" veritabanlarıyla kullanılır. ".laccdb" ve ".ldb" dosyalarının ikisi de genellikle kilit dosyaları olarak adlandırılır.

Otomatik olarak kilit dosyası oluşturma ve silme

Paylaşılan kullanım için açılan her veritabanında, bilgisayar ve güvenlik adlarını depolamak ve genişletilmiş byte aralık kilitleri yerleştirmek için bir ".laccdb" veya ".ldb" dosyası oluşturulur. Kilit dosyası her zaman açık veritabanıyla aynı adı alır ve açık veritabanıyla aynı klasörde yer alır. Örneğin, C:\users\<username>\documents\'daki Northwind.accdb örnek veritabanını açarsanız (paylaşılan kullanım için) Northwind.laccdb adlı bir dosya otomatik olarak aynı belgeler klasöründe oluşturulur.

Son kullanıcı paylaşılan veritabanını kapattığında, kilit dosyası silinir. Bunun tek istisnası, kullanıcının silme hakları olmaması veya veritabanının bozuk olarak işaretlenmiş olmasıdır. Ardından kilit dosyası silinmez çünkü veritabanı bozuk olarak işaretlenirken veritabanını kimin kullandığıyla ilgili bilgileri içerir.

Gerekli klasör ayrıcalıkları

Bir veritabanını paylaşmayı planlıyorsanız veritabanı dosyası, kullanıcıların okuma, yazma, oluşturma ve silme ayrıcalıklarının bulunduğu bir klasöre konmalı. Kullanıcıların farklı dosya ayrıcalıklarına (örneğin, bazıları salt okunur ve bazıları da okuma-yazma) sahip olmasını isteseniz bile, veritabanını paylaşan tüm kullanıcıların klasörde okuma, yazma ve oluşturma izinleri olması gerekir. Bununla birlikte, kullanıcılara klasör üzerinde tam yetki verirken .accdb veya .mdb dosyalarına salt okunur izinler atayabilirsiniz.

Not

Bir kullanıcı, özel erişimle bir veritabanını açarsa (düğmesinin sağındaki oka tıklayıp sonra Özel Olarak Aç'a tıklayarak) kayıt kilitleme kullanılmaz. Bu nedenle, Microsoft Access bir kilit dosyası açmaya veya oluşturmaya çalışmaz. Veritabanı her zaman özel kullanım için açıksa kullanıcının klasör için yalnızca okuma ve yazma ayrıcalıklarına ihtiyacı vardır.

Kilit dosyası içeriği

Bir paylaşılan veritabanını açan herkes için Access veritabanı motoru, veritabanının ".laccdb" veya ".ldb" dosyasına bir girdi yazar. Her girdinin boyutu 64 bayttır. İlk 32 bayt bilgisayar adını (örneğin JohnDoe) içerir. İkinci 32 bayt güvenlik adını içerir (Yönetici gibi). Access veritabanı motorunun desteklediği eş zamanlı kullanıcı sayısı üst sınırı 255'tir. Bu nedenle, kilit dosyası boyutu hiçbir zaman 16 kilobayttan büyük değil.

Not

Bir dosya sunucusu çözümü aynı anda 255'e kadar kullanıcı desteklese de eğer çözümünüzün kullanıcıları sık sık veri ekliyor ve verileri güncelleştiriyorsa Access dosya sunucusu çözümünün 25-50 kullanıcıdan fazlasını desteklememesi iyi bir fikirdir. Daha fazla bilgi için bkz. Bölüm 1: Microsoft Access 2000 İstemcisi/Sunucu Geliştirmesini Anlama.

Bir kullanıcı paylaşılan veritabanını kapattığında, kilit dosyasından kullanıcının girdisi kaldırılmaz. Bununla birlikte, başka bir kullanıcı veritabanını açtığında kullanıcının girdisi üzerine yazılabilir. Bu, veritabanını şu anda kimlerin kullandığını belirlemek için tek başına kilit dosyasını kullanamayacağınız anlamına gelir.

Kilit dosyası kullanımı

Access veritabanı motoru, başka kullanıcılar tarafından kilitlenmiş sayfalara veya kayıtlara kullanıcıların veri yazmasını engellemek ve kimin başka kilitli sayfaları veya kayıtları olduğunu belirlemek için kilit dosyası bilgilerini kullanır. Access veritabanı motoru başka bir kullanıcıyla kilit çakışması olduğunu algılarsa kilit dosyasını okuyarak dosyayı veya kaydı kilitlenmiş olan kullanıcının bilgisayar ve güvenlik adını alır.

Kilit çakışmalarının çoğunda, kaydı kaydetmenizi, Pano'ya kopyalamanızı veya yaptığınız değişiklikleri silmenizi sağlayan genel bir "Yazma çakışması" iletisi alırsınız. Ancak bazı durumlarda, aşağıdaki hata iletisini alırsınız:

Tablo tablosu <adı> kilitlenemedi; şu anda bilgisayar>< adında kullanıcı <güvenlik adı> tarafından kullanılıyor.

Not

Kilit dosyasındaki bilgilerin durumu, veritabanının durumu üzerinde hiçbir etkiye sahip değildir. Kilit dosyası bozulsa bile veritabanındaki her şeyin hala düzgün çalışması gerekir. Bununla birlikte, herhangi bir kilit çakışması iletisinde kullanıcı adları yerine karıştırılmış metinler görebilirsiniz.

Uygulamalar için Microsoft Visual Basic ile belirli bir veritabanında oturum açan kullanıcıların listesinin çıktısını alabilirsiniz. Bunun nasıl yapılacağı ve örnek kod hakkında daha fazla bilgi için bkz. Access'te Microsoft Jet UserRoster kullanarak veritabanında oturum açanları belirleme.