Makale numarası: 173006 - Son Gözden Geçirme: 20 Ocak 2007 Cumartesi - Gözden geçirme: 3.1

Eşitleme sırasında "Dosya paylaşım kilidi sayısı" ACC: hata

Sistem İpucuBu makale, kullandığınızdan farklı bir işletim sistemine yöneliktir. Sizinle ilgili olmayabilecek makale içeriği devre dışı bırakıldı.
ÖNEMLI: Bu makale kayıt defterinin düzenlenmesi hakkında bilgi içermektedir. Kayıt defterini düzenlemeden önce kayıt defteri dosyaları (System.dat ve User.dat) yedek kopyasını önce yapmalısınız. Her ikisi de Windows klasöründe gizli dosyalardır.

Gelişmiş: Uzman kodlama, birlikte çalışabilirlik ve çok kullanıcılı becerileri gerektirir.

Bu Sayfada

Hepsini aç | Hepsini kapa

Belirtiler

Iki yinelemenin eşitlediğinizde, aşağıdaki hata iletisini alabilirsiniz:
Eşitleme '<Replica1.mdb>' ve '<Replica2.mdb>' başarısız oldu.

Dosya paylaşım kilidi sayısı, (hata 3052) aştı.
Hata, bir Visual Basic for Applications yordamı, Synchronize yöntemi kullanan çalıştırdığınızda da oluşabilir.

Neden

Yineleme kümesi üyesi eşitleme başarıyla tamamlanması için çok fazla değişiklik var. Örneğin, çok sayıda yeni bir kayıt eklediğiniz çünkü kopyaların birini boyutu 100 megabayt (MB) çıkarıldı, bu hatayı alabilirsiniz. Çok fazla değişiklikleri içeren kopyayı eşitlemeye çalıştığınız veritabanını olabilir veya başka bir yineleme kümesi üyesi olabilir.

Çözüm

Microsoft Access 97 kullanıyorsanız, Microsoft Jet veritabanı alt yapısı 3.5 MaxLocksPerFile ayarı, Windows kayıt defterini düzenleyerek artırmak sağlayan yeni bir özelliği yararlanabilirsiniz. Bu ayarın varsayılan değeri 9500 ' dir. Bağlantı başına sunucunun en fazla kayıt kilitleri nedeniyle 10000 kopyaların birini bir Novell NetWare sunucusu üzerinde bulunuyorsa, ancak bu değerin değiştirilmesi önerilmez. Kopyaların birini Windows NT sürüm 3.51 veya daha önceki bir sürümü çalıştıran bir sunucuda bulunuyorsa, buna ek olarak, bu değerin değiştirilmesiyle performansının düşmesine neden olur. Microsoft Windows NT sürüm 4.0 veya Microsoft Windows 95 çalıştıran sunucularda her iki yineleme bulunuyorsa, bu ayarın değeri kullanılabilir kaynaklar tarafından sınırlandırılır.

UYARı: Sistem kayıt defterinde yapılan değişiklikler, Windows 95 veya Windows NT işletim sistemleri için Gelişmiş kullanım kabul edilir. Değişiklikler yaparken, aşırı dikkat edilmelidir. Tüm geçersiz veya yanlış girdileri işletim sistemi kullanılamamasına neden olabilir.

UYARı: Kayıt Defteri Düzenleyicisi'ni yanlış kullanmak, Windows 95'i yeniden yüklemenizi gerektirebilecek ciddi sorunlara neden olabilir. Microsoft, Kayıt Defteri Düzenleyicisi'nin yanlış kullanılmasından kaynaklanan sorunların çözülebileceğini garanti etmemektedir. Kayıt Defteri Düzenleyicisi'ni kullanmak kendi sorumluluğunuzdadır.

Kayıt defterini düzenleme hakkında daha fazla bilgi için Kayıt Defteri Düzenleyicisi'ndeki (Regedit.exe) değiştirme anahtarları ve değerleri Yardım konusunu görüntüleyin. Kayıt defterini düzenlemeden önce kayıt defteri dosyaları (System.dat ve User.dat) yedek kopyasını yapın unutmayın.
  1. Microsoft Access'nden çıkın.
  2. Başlat düğmesini ve ardından Çalıştır'ı tıklatın.
  3. Aç kutusuna regedit yazın.
  4. <a0>HKEY_LOCAL_MACHINE</a0> kayıt defteri klasörünü bulun.
  5. Klasörü bulmak kadar HKEY_LOCAL_MACHINE klasörünü genişletin SOFTWARE\Microsoft\Jet\3.5\Engines\Jet 3.5.
  6. Içeriğini görüntülemek için Jet 3.5 klasörünü çift tıklatın.
  7. MaxLocksPerFile girişi seçin, Düzen menüsünden Değiştir'i tıklatın.
  8. DWORD değerini Düzenle iletişim kutusunda, ondalık'ı seçin ve sonra <a0>Değer verisi</a0> kutusundaki sayıyı artırın.
  9. MaxLocksPerFile</a0> ayarı kaydetmek için Tamam'ı tıklatın.
  10. Kayıt Defteri Düzenleyicisi'nden çıkın.
  11. Microsoft Access'i başlatın ve bu kopyaların eşitleyebilirsiniz.

Durum

Microsoft, Microsoft Access 97'de bir sorun için onaylamıştır.

Daha fazla bilgi

MaxLocksPerFile</a0> ayarı, belirtilen kayıt kilidi sınırını aşmadan büyük işlemleri tamamlamak Microsoft Jet veritabanı alt yapısı sağlar. Bu sınırı aşan, yerine Jet veritabanı alt yapısı bir hareket altında iki veya daha fazla parça ayırır; bir parçası kabul edilen nakledildikten sonra Jet veritabanı alt yapısı, yeniden kullanılabilir böylece kilitlerin boşaltır. Sonuç olarak, daha az kilitler, hareketi tamamlamak için gereklidir. Bu, bu değer aşıldığında, gelen kilitlenen 10000, bağlantı başına en fazla kayıt kilitleri sınırlayan bir Novell NetWare sunucusu engeller.

Iki yinelemenin eşitlerken ancak Jet veritabanı alt yapısı hareketi bölün değil. Parçalara bölmek sürece MaxLocksPerFile ayarında belirtilen sınırı içinde işlem tamamlanamıyor "Belirtiler" bölümünde açıklanan hata alırsınız; eşitleme oluşmaz.

Sorunu Yeniden Oluşturma Adımları

UYARı: Aşağıdaki adımları kurmak için 400 MB boş disk alanı gerektirebilir. Örnek yordamı büyük miktarda veri içeren bir tablo doldurur; çalışan uzun bir süre boyunca CPU'NUZ kullanılamaz zaman alabilir.
  1. Microsoft Access'i başlatın ve yeni, boş bir veritabanı açın.
  2. Aşağıdaki tablo oluşturun:
          Table: tblTable1
          ---------------------------
          Field Name: ID
             Data Type: Number
             Field Size: Long Integer
          Field Name: Field1
             Data Type: Text
             Field Size: 50
          Field Name: Field2
             Date Type: Text
             Field Size: 50
          Field Name: Field3
             Date Type: Text
             Field Size: 50
          Field Name: Field4
             Date Type: Text
             Field Size: 50
    						
  3. Tablo tblTable1 kaydedin. Birincil anahtar, tıklatma No oluşturmak isteyip istemediğiniz sorulduğunda
  4. Araçlar menüsünden, yineleme'nin üzerine gelin ve yineleme oluştur seçeneğini tıklatın. Veritabanını kapatmak isteyip istemediğiniz sorulduğunda, Evet'i tıklatın. Bir yedekleme yapmak isteyip istemediğiniz sorulduğunda tıklatın No
  5. Location of yeni yineleme iletişim kutusunda, yeni yineleme konumu ve dosya adını not alın. Tamam'ı tıklatın.
  6. Tasarım Şablonu şimdi olan veritabanı, yeniden başlatmanız istendiğinde, Tamam'ı tıklatın.
  7. Yeni, boş bir modülü açın ve aşağıdaki yordamı yazın:
           Function Filler(lngNumRecs As Long)
    
              Dim lngLoopCount As Long
              Dim strFillerString As String
              Dim db As Database
              Dim rs As Recordset
    
              strFillerString = ""
              For lngLoopCount = 1 To 40
                 strFillerString = strFillerString & "x"
              Next lngLoopCount
              Set db = CurrentDb
              Set rs = db.OpenRecordset("tblTable1")
              For lngLoopCount = 1 To lngNumRecs
                 rs.AddNew
                 rs![ID] = lngLoopCount
                 rs![Field1] = strFillerString
                 rs![Field2] = strFillerString
                 rs![Field3] = strFillerString
                 rs![Field4] = strFillerString
                 rs.Update
              Next lngLoopCount
              db.Close
           End Function
    						
  8. Aşağıdaki satırı, hata ayıklama penceresinde yazın:

    ? Filler(500000)

    Not Bu yordamın çalışması uzun sürebilir ve kadar 400 MB boş disk alanı gerektirebilir.
  9. Araçlar menüsünden, yineleme'nin üzerine gelin ve sonra da Şimdi Eşitle'yi tıklatın.
  10. Veritabanını eşitle iletişim kutusunda, <a3>Tamam</a3>'ı tıklatın.
"Yinelemeler Eşitleme" iletisiyle BIR ilerleme durumu göstergesi görünür, ancak sonuçta, "Belirtiler" bölümünde açıklanan hata alırsınız.

Referanslar

MaxLocksPerFile</a0> ayarı hakkında daha fazla bilgi için Yardım dizini "SetOption yöntemini" için arama "SetOption yöntemi (DAO)" konusunu görüntülemek; konunun en altına gidin ve "Microsoft Jet 3.5 veritabanı altyapısı başlatma" bağlantısını tıklatın

Çoğaltma hakkında daha fazla bilgi için lütfen Microsoft Jet 3.5 çoğaltma teknik incelemeye bakın. Yönergeler, Microsoft Jet 3.5 çoğaltma teknik incelemeyi edinmek için Microsoft Knowledge Base'de aşağıdaki makaleye bakın:

164553  (http://support.microsoft.com/kb/164553/EN-US/ ) ACC97: Jet 3.5 çoğaltma teknik inceleme kullanılabilir Yükleme Merkezi'ndeki

Bu makaledeki bilginin uygulandığı durum:
  • Microsoft Access 97 Standard Edition
Anahtar Kelimeler: 
kbmt kbbug kberrmsg KB173006 KbMttr
Otomatik TercümeOtomatik Tercüme
ÖNEMLİ: Bu makale, bir kişi tarafından çevrilmek yerine, Microsoft makine-çevirisi yazılımı ile çevrilmiştir. Microsoft size hem kişiler tarafından çevrilmiş, hem de makine-çevrisi ile çevrilmiş makaleler sunar. Böylelikle, bilgi bankamızdaki tüm makalelere, kendi dilinizde ulaşmış olursunuz. Bununla birlikte, makine tarafından çevrilmiş makaleler mükemmel değildir. Bir yabancının sizin dilinizde konuşurken yapabileceği hatalar gibi, makale; kelime dağarcığı, söz dizim kuralları veya dil bilgisi açısından yanlışlar içerebilir. Microsoft, içeriğin yanlış çevrimi veya onun müşteri tarafından kullanımından doğan; kusur, hata veya zarardan sorumlu değildir. Microsoft ayrıca makine çevirisi yazılımını sıkça güncellemektedir.
Makalenin İngilizcesi aşağıdaki gibidir:173006  (http://support.microsoft.com/kb/173006/en-us/ )
Retired KB ArticleKullanım Dışı Bilgi Bankası İçeriği Yasal Uyarı
Bu makale, Microsoft'un artık destek sağlamadığı ürünler ile ilgili olarak yazılmıştır. Bu nedenle, bu makale "olduğu gibi" sağlanmıştır ve bundan sonra güncelleştirilmeyecektir.