Office: Anzahl Dateisperrungen überschritten

Helfe beim Thema Anzahl Dateisperrungen überschritten in Microsoft Access Hilfe um das Problem gemeinsam zu lösen; Hallo, beim Durchlaufen einer DoUntil/Loop-Schleife werden in einem Recordset Änderungen vorgenommen (die jeweils mit .edit eingeleitet und mit... Dieses Thema im Forum "Microsoft Access Hilfe" wurde erstellt von Britta28, 6. Januar 2004.

  1. Anzahl Dateisperrungen überschritten


    Hallo,

    beim Durchlaufen einer DoUntil/Loop-Schleife werden in einem Recordset Änderungen vorgenommen (die jeweils mit .edit eingeleitet und mit .update abgeschlossen werden). Nach ca. 650 Durchläufen erfolgt ein Abbruch und die Fehlermeldung 'Laufzeitfehler 3052 - Anzahl der Dateisperrungen überschritten'. Was steckt dahinter und wie kann man diesen Fehler vermeiden? Das ganze passiert unter WINDOWS 2000 / ACCESS 2000.

    Gruß

    Britta

    :)
     
    Britta28, 6. Januar 2004
    #1
  2. Hi Britta

    das gibt's nicht ! ... *wink.gif*

    Kannst du mal den kompletten Code posten, denn nur mit dieser Beschreibung ist das Black-Box.
    Und meine Bemerkung "das gibt's nicht" hat schon was, denn ich habe schon 15'000 DS in einem Loop bearbeitet - ohne diese Meldung ...
     
  3. \@ Jean:
    Was denkst Du, was es alles bei MiniSoft gibt und was es nicht gibt *biggrinlove *laugh *grins

    @Britta:

    Versuche mal vor der Berechnung die folgende Option zu setzen:

    Code:
    good luck

    genschman
     
    genschman, 8. Januar 2004
    #3
  4. Anzahl Dateisperrungen überschritten

    Super!

    Mit der zusätzlichen Zeile hat es geklappt!

    Danke

    Britta
     
    Britta28, 8. Januar 2004
    #4
  5. Allerdings steht dbMaxLocksPerFile standardmäßig auf 9500. Damit dürfte es nicht schon nach 650 DS die Meldung geben. (Oder enthält die Tabelle große Memofelder?)

    Eine andere Lösung ist in folgendem Beispiel zu sehen:
    Code:
    (Die Stammdatentabelle hat 70000 DS)
    Nach jedem 1000sten DS wird eine sog. Null-Transaktion ausgelöst. (DBEngine.BeginTrans...CommitTrans) Das führt dazu, dass die Engine die bereits geänderten Datensätze in die Tabelle schreibt und damit auch die darauf gesetzten Locks wieder freigibt. Nach der Null-Transaktion ist der Locks-Zaähler also wieder auf 0.

    Dieses Verfahren ist deshalb zu bevorzugen, weil Locks (Sperrungen) in einer Mehrbenutzerumgebung die Performance deutlich senken.

    Ciao, Sascha

    PS: Noch besser ist es eigentlich, die gesamte Routine in eine Transaktion einzupacken:

    Code:
     
    Sascha Trowitzsch, 8. Januar 2004
    #5
  6. Hi zusammen

    wieso gibt's denn in der von mir erwähnten Routine, wo ich effektiv etwa 15'000 update (und zwar werden relativ komplexe Berechnungen in mehreren Feldern gemacht) KEINE solche Meldung ??
     
  7. Die Zahl der Locks steht nicht in direktem Bezug zur Zahl der Datensätze. Deshalb hatte ich oben auch nach dem Vorkommen von Memofeldern gefragt.

    MS setzt die Locks auf Speicherseiten (2048 Bytes). In einer Speicherseite können durchaus mehrere Datensätze Platz haben. (Mit der Komplexität der Berechnungen für die Felder hat das nichts zu tun.) Deshalb kann es auch vorkommen, dass bei einem anderen User ein Datensätz zur Aktualisierung gesperrt ist, obwohl ein anderer User gerade einen ganz anderen bearbeitet.
    Umgekehrt kann ein größeres Memofeld mehrere Speicherseiten in Anspruch nehmen und so mehrere Locks verursachen.
    Außerdem summieren sich die Locks der einzelnen User auf die Datei, so daß beim einzelnen User schon das Ende der Fahnenstange erreicht ist, wenn er noch weit von seinen MaXLocks entfernt ist.

    Vielleicht zur Erklärung noch:

    Locks sind Sperren auf Bereiche einer Datei. Windows kann eine Datei, die für shared Zugriff geöffnet ist, mit Sperren für einzelne seitenweise Bereiche belegen (Windows-API: Funktion LockFile ). Diese Bereiche sind dann schreibgeschützt. Access nutzt diesem Mechanismus für seine Datensatzsperrungen, indem es virtuelle Sperrungen auf das LDB-File setzt.

    Ciao, Sascha
     
    Sascha Trowitzsch, 8. Januar 2004
    #7
  8. Anzahl Dateisperrungen überschritten

    Hi zusammen

    Alles klar - was Speicherseiten sind, ist mir bekannt - da hätte ich ja auch selbst drauf kommen sollen, oder zumindest mal in der MSKB schauen: http://support.microsoft.com/default...d=kb;de;286153
    Anzahl Dateisperrungen überschritten [​IMG]



    Anzahl Dateisperrungen überschritten schild015.gif
    an Sascha für die ausführlichen Erklärungen, welche auch für viele andere vielleicht mal von Bedeutung sind !

    Wär vielleicht einer für's Code-Archiv ??
     
  9. Hallo zusammen,

    ich habe in einer Prozedur ein ähnliches problem. Tritt erst seit heute auf.
    Ich habe 9.480 Datensätze die durchlaufen werden.
    Ich schicke eine Mail raus und vermute das der Fehler auftritt wenn ich die 9.480 potenziellen Empfänger duchlaufe und die Kriterien abfrage.

    Code:
    obwohl diese Abfrage nur 14 Datensätze ausgibt?

    Datenbank ist global deklariert:
    Code:
    Er versendet zwar alle Mails gibt dann aber den 3052 Fehler aus....
     
    mille81, 1. November 2012
    #9
  10. Hat da noch keiner eine Idee zu?
     
    mille81, 12. Mai 2013
    #10
Thema:

Anzahl Dateisperrungen überschritten

Die Seite wird geladen...
  1. Anzahl Dateisperrungen überschritten - Similar Threads - Anzahl Dateisperrungen überschritten

  2. Abfrage: Anzahl von Kriterium >0

    in Microsoft Access Hilfe
    Abfrage: Anzahl von Kriterium >0: Hallo, [ATTACH] Ich versuche gerade, die Anzahl der belegten Plätze auf einem LKW per Abfrage zu ermitteln. Dabei wäre dann FSPal > 0. Leider zeigt er mir die Anzahl der Plätze an. [ATTACH]...
  3. Anzahl der Downloads bereitgestellter Dateien anzeigen

    in Lob, Kritik und Verbesserungsvorschläge
    Anzahl der Downloads bereitgestellter Dateien anzeigen: Hi, wäre schön, wenn man sehen könnte, wie oft eine Datei, die man zum Download bereitgestellt hat, tatsächlich gedownloadet wurde.
  4. Anzahl der Top 5 Werte zeilenweise Zählen

    in Microsoft Excel Hilfe
    Anzahl der Top 5 Werte zeilenweise Zählen: Hallo Liebe Forenmitglieder, ich habe eine Tabelle mit 40 Namen untereinander und trage wöchentlich eine Zahl in der Spalte der jeweiligen KW ein. (Mit einer bedingten Formatierung ermittle ich,...
  5. Anzahl mit bedingungen

    in Microsoft Excel Hilfe
    Anzahl mit bedingungen: Hallo, ich möchte im Tabellenblatt: "Tabelle1" in den Gelben Feldern, jeweils die Anzahl M bzw W aus Tabelle: "test" haben, aber da die Namen mehrfach vorkommen können sollte jeweils nur einmal...
  6. Anzahl Tage berechnen, inclusiv Startdatum

    in Microsoft Excel Hilfe
    Anzahl Tage berechnen, inclusiv Startdatum: Guten Tag zusammen, ich benötige einmal Hilfe für eine Funktion (wenn es sie denn gibt) für die Berechnung von Anzahl Tagen, jedoch inclusiv des Starttages. Ich kenne es so, dass man den...
  7. Anzahl der Dateisperrungen überschritten

    in Microsoft Access Hilfe
    Anzahl der Dateisperrungen überschritten: Hallo zusammen, ich muss für mein Studium eine Access-Datenbank (ich nutze Access 2013) aufbauen. Unter anderem habe ich mir einen Befehl mit SQL geschrieben, der eine Spalte hinzufügt. Leider...
  8. Anzahl Dateisperrungen überschritten

    in Microsoft Access Hilfe
    Anzahl Dateisperrungen überschritten: Hallo, beim schreiben mit der EDIT-Methode (DAO) erhalte ich die Fehlermeldung "Anzahl der Dateisperrungen überschritten (Fehler 3052)". Kann mir jemand sagen was damit gemeint ist! Gruß,...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden