23. juli 2004 - 10:55Der er
7 kommentarer og 1 løsning
Databasen vokser.
Hej med jer. Jeg har et problem med at min database vokser. På en uge vokser den fra 400kb til ca 50 MB Der er ikke ukendt data i DB. Nå jeg så kører Functionen Komprimer og reparer. Så er den normal igen. Det er et program der henter oplysninger på web. og opdaterer nogle poster. hvert minut. Hvad kan være årsagen til dette fenomen.
Nu siger du ikke hvilken database, der er snakke om, men jeg går ud fra, at det er en Access-database.
Når man arbejder med Access vokser databasen automatisk hele tiden. Det skyldes at hver gang man f.eks. sletter en post, så slettes den ikke fysisk fra filen. Hvis man opdaterer en post sker det samme, da en opdatering i virkeligheden er en sletning og en nyoprettelse.
Hvis man ændre på design i databasen vokser den også, da Access bruger noget plads i filen som arbejdsområde.
Så der er ikke andet at gøre end at komprimere jævnligt :o(
Desværre jo! Normalt er det slet ikke i den størrlsesorden, som du fortæller her. Men det afhænger meget at database-design samt hvilke typer opdateringer, du laver. Men når du laver dem hvert menut, så vil den selvfølgelig vokse hurtigere.
Har du mulighed for at indskrænke dine opdateringer (nogle gange opdatere man hele tabellen, selvom man - med et par kriterier - kan begrænse det til nogle få poster. Det vil hjælpe.
Ellers kan du måske lukke databasen ned 30 sekunder hver nat og komprimere (vha et script/service)?
Det er lidt besværligt at gøre det fra VB (hvis du altså mener VBA indefra samme database?), men du kan starte programmet Access med en opstart-kommando som gør at den komprimere databasen. Derved kan du lave kald, som ser nogenlunde således ud: C:\Programmer\microsoft office\office10\msaccess.exe C:\Dindatabase.mdb /compact
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.