Veröffentlicht 15. September 200816 j Hi. Folgender Hintergrund. Spezielle Anwendungssoftware die Infos in deine DB schreibt. Diese Datenbank wächst sehr schnell, bis dann bei 2GB Größe Schluss ist. Danach muss sie manuell über Access komprimiert werden weil sonst das Prog nicht mehr funktioniert. Geht aktuell nur so dass der User sich meldet wenn "nix geht mehr" Ich suche ein kleines kostenloses Tool oder ein Script, dass mir Ordner - evtl auch von Netzlaufwerken - überwacht und irgendwie laut gibt, sobald eine definierte Größe überschritten ist.
15. September 200816 j Nimm anstatt Access einen SQL Server, das Limit mit 2GB ist ja wohl sehr seltsam, gerade bei Datenbanken, wo schnell mal 2GB zusammen kommen. Und warum macht das Programm Probleme, das Programm sieht nur die Datenbank, wie das DBMS das organisiert ist nicht Sache des Programms Phil
15. September 200816 j Autor Das Programm schreibt halt eine MDB-File. Das lässt sich nicht ändern. Und die ist auf 2GB begrenzt.
15. September 200816 j Das "komprimieren" entfernt nur Datensätze und Objekte physikalisch aus der MDB Datei. Die Datensätze werden nicht direkt gelöscht, sondern nur als "zu löschen" gekennzeichnet. Das komprimieren bringt somit, wenn das Programm kontinuierlich neue Daten schreibt, nichts Phil
15. September 200816 j ich würde mir auch erstmal gedanken machen ob nicht doch ne SQL-Datenbank der Bessere Weg wäre. Klar, wenns nicht anders geht: WatchDirectory - Monitor a directory for changes and react!
15. September 200816 j Autor Ich suche ein kleines kostenloses Tool ... WatchDirectory kenne ich. Geht hier nur um einen Arbeitsplatz, da rentiert das nicht. Hab jetzt behelfsmäßig was mit Sysinternals' Filemon realisiert damit ich einen groben Überblick habe. Aber ist nicht das gelbe vom Ei
15. September 200816 j ich sehe die möglichkeit, die datenbank mit der in den optionen einstellbaren "beim schließen komprimieren" automatisch kleiner machen zu lassen. da hier aber offensichtlich ein automatismus die datenbank ohne access beschreibt (Jet OLE DB treiber?), könntest du einfach einen täglichen batch laufen lassen, der die datenbank öffnet, und beim schliessen wieder komprimiert. addendum für den aufruf (hier: via VBS bzw. WSH): Set Engine = CreateObject("DAO.DBEngine.35") Engine.CompactDatabase "path\database.mdb", "path\compacted_database.mdb" Set Engine = CreateObject("JRO.JetEngine") Engine.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\database.mdb", _ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=path\compacted_database.mdb" s'Amstel Bearbeitet 15. September 200816 j von Amstelchen
22. September 200816 j Vorschlag: per Taskplaner (einmal am Tag? 2mal am Tag? wie schnell wird die DB so groß?) einen Job starten der die DB komprimiert. Entweder per Batchdatei wenn die DB eine gewisse Größe überschritten hat, oder halt jedesmal bei aufruf des Jobs prophylaktisch einmal komprimieren. msaccess.exe hat dazu nen Schalter.
Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.