Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

MaxLocksPerFile Error

Tipp Entwicklung VB for Applications

Mitglied: J0j0

J0j0 (Level 1) - Jetzt verbinden

08.07.2009, aktualisiert 03.08.2010, 10311 Aufrufe, 3 Kommentare

MaxLocksPerFile Error in MS Access

1. Variante:
DB Exklusive öffnen (Kein Multiuser mehr möglich)
Ändere "Set db = CurrentDb" auf:
Set db = DBEngine.OpenDatabase("F:\Test\testBE.mdb", True)

2. Variante Dauerhaft MaxLocks hochsetzen:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\4.0\Engines\Jet 4.0
(Standard 9500)

3. Variante temporär für die aktuelle Sitzung
DBEngine.SetOption dbMaxLocksPerFile, 15000
Mitglied: Biber
08.07.2009 um 20:23 Uhr
Moin J0j0,

ja nee.... lass uns da noch ein bisschen dran feilen - das lass ich so nicht als Anleitung gelten.

[Als Tipp hätte ich ja nix gesagt...]

Was mir fehlt:
  • Wer wo wann überhaupt diesen "Fehler 3072" ("Anzahl der maximalen Dateisperrungen überschritten") unter welchen Umständen zu sehen bekommen könnte
  • Wer es sich denn überhaupt erlauben kann, eine MDB wie bei Variante 1 für sich ganz allein zu blocken
  • Oder die umgedrehte Seite der Medaille: Welcher Access-Normal-User in einem handelsüblichen Firmennetz darf denn was-auch-immer im HKLM-Hive der Registry rumfuckeln?
  • Welcher Fehler könnte mich nach zwei Minuten ereilen, wenn ich denn mal auf die Sahne haue und sage: "Hey, statt der vorgeschlagenen MaxLocksPerFile von 0x251c/9500dez stell ich mal 200000 ein, da bin ich dann auf der sicheren Seite."
( 2 Minuten später kommt: "Möglicherweise ist der Arbeitsspeicher für ... nicht ausreichend. Sichern Sie bitte noch nicht gespeicherte Daten..")

Ich weiss nicht, wo und bei was Dich diese MaxLocksPerFile-Grenze erwischt hat - bei einer Synchronisation, einem Massen-Update, einer Tabellenstrukturänderung oder einem Daten-Export.

In allen Fällen ist IMHO eher eine überlegte Portionierung der Transaktion (z.B. Commit nach je 5000 Datensätzen) sinnvoll oder, wenn es gar überhaupt nicht anders geht, eine Variante Deiner Variante 3
( aber nicht
DBEngine.SetOption dbMaxLocksPerFile, 15000
..sondern explizit
DAO.DBEngine.SetOption dbMaxBufferSize, nnnnn
DAO.DBEngine.SetOption dbMaxLocksPerFile, mmmmm
)

Dennoch ganz klar - die Strategie der Redmonder PraktikantInnen (und diese Strategie können wir nicht unterlaufen) ist
  • ALLE innerhalb einer Transaktion warum-auch-immer-gesperrten Datensätze bis zum Ende der Transaktion in ihrer vollen Satzlänge zu sperren.
  • dafür gibt es einerseits die 9500 (=ANZAHL der Sperrungen und deren Verwaltung).
  • dazu kommt allerdings der Arbeitsspeicherbedarf platt gesagt 9500 mal Datensätzlänge
  • wenn Du NICHT explizit das UseTransaction-Property geändert hast (z.B. mit KlickiBunti bei den "Abfrageeingeschaften" einer "Aktualisungsabfrage" mit Setzen der Eigenschaft "Transaktionen verwenden" auf "Nein"), dann wird die Gesamt-Aktion ohnehin portioniert/mit mehreren Commit-Punkten versehen.
  • aber eine vollständige Freigabe der Ressourcen erfolgt erst, enn explizit das oberste aktive DB-Objekt (im Normalfall CurrentDB()) destroyed wird. Sonst wird "nur" nach einem Commit/EndTransaction diese Sperren-verwaltung freigegeben.
Ein Hochsetzen der MaxLocksPerFile auf einen Mondwert entspricht de facto einem "Setze Transaktionen auf Nein", was auf deutscher bedeutet : "No way back - wenn irgendwann irgendwo beim Updaten von Satz 23456 von 25000 ein Fehler auftritt, dann brich ab und lass alles in dem Zustand, in dem es jetzt halt ist."

Na ja, egal... was ich nur sagen wollte: nach dem Lesen einer Anleitung sollte die geneigte Leserin/der gramgebeugte Leser eigentlich besser verstehen und wissen, an welchen Stellschrauben er drehen sollte und warum und wann lieber nicht.

Von daher meine Bitte:
  • entweder "Anleitung" und dann aber noch etwas Butter bei die Fische mit dem Button "Editieren"
  • oder umstufen als "Tipp".

Natürlich würde mich Möglichkeit A mehr freuen... ich will ja auch was lernen hier.

Grüße
Biber
Bitte warten ..
Mitglied: 80220
09.07.2009 um 00:19 Uhr
Als Anleitung etwas mager um nicht zu schreiben total daneben.
Bitte warten ..
Mitglied: J0j0
09.07.2009 um 09:23 Uhr
Hey zusammen,

sorry ich hab einfach irgendwas ausgewählt!
Wer mich die Tage ranmachen und das ausführlicher Schreiben!

Lg
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Nonsense Error - find ihn nicht. (Batch) (7)

Frage von clragon zum Thema Batch & Shell ...

Drucker und Scanner
Laserjet 3600N Fehler PCL Error (1)

Frage von grillinator95 zum Thema Drucker und Scanner ...

Netzwerke
gelöst LSP Error auf dem Display von Source Fire (3)

Frage von jarimlim zum Thema Netzwerke ...

Drucker und Scanner
Laserjet M603 Disk Error (6)

Frage von uridium69 zum Thema Drucker und Scanner ...

Neue Wissensbeiträge
LAN, WAN, Wireless

Neue Cisco Catalyst-Serie 9000

Information von Kuemmel zum Thema LAN, WAN, Wireless ...

Sicherheit

Millionen Euro in den Sand gesetzt?

(3)

Information von transocean zum Thema Sicherheit ...

Heiß diskutierte Inhalte
Netzwerke
Mobile Einwahl IPSec VPN von iPhone iPad T-Mobile zur Pfsense (14)

Frage von Spitzbube zum Thema Netzwerke ...

LAN, WAN, Wireless
Eine Netzwerkdose im Wechsel für zwei unterschiedliche Netze (12)

Frage von kartoffelesser zum Thema LAN, WAN, Wireless ...

Windows Netzwerk
Ordner-Freigabe außerhalb der Domäne (9)

Frage von Remsboys zum Thema Windows Netzwerk ...

Windows Server
gelöst "Anmelden über Remotedesktopdienste verweigern" lässt sich nicht bearbeiten! (9)

Frage von schollw zum Thema Windows Server ...