Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - Max locks per file exceeded (error 3057)
kagel - Do 23.04.09 14:19
Titel: Max locks per file exceeded (error 3057)
In einem meiner Programme greife ich mit OleDb auf eine Access-Datenbanktabelle mit 20000 Rows und 150 Columns zu:
Folgendes Statement produziert ein "Max locks per file exceeded (error 3057)"
sobald die Tabelle "table" etwa mindestens 15000 Einträge hat.
----------------------------------------------------------
OleDbCommand qry = new OleDbCommand();
transaction.PrepareCommand(qry4);
qry.CommandText = "DELETE * FROM table WHERE flag = 0";
int count1 = qry.ExecuteNonQuery();
----------------------------------------------------------
Wenn das gleiche Statement direkt in Access abgesetzt wird funktioniert es.
"DELETE * FROM table WHERE flag = 0"
Derzeit umgehe ich das Problem in dem ich in der Registry den key
von default 9500 auf etwa 20000 erhöhe
Registrykey: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Jet\<version>\Engines\Jet <version>\MaxLocksPerFile
Hat jemand von Euch schon mal das Phänomen beobachtet. Ist das ein Bug in
der System.OleDb ? Warum wird diesen Limit bei einem Statement überhaupt überschritten
Danke für eine Hinweis.
Kagel
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!