![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.06.2007 Ostrzeżenie: (0%)
|
Witam serdecznie!
Jestem początkującym użytkownikiem access'a i napotkałem na przerastający mnie problem. Sytuacja jest następująca. W bazie istnieje kilka mniejszych lub większych tabel. Jedna z nich (największa) ma ponad 1mln rekordów. Moim zadaniem jest wykonanie kilku operacji na niej. Instrukcje przetwarzające dane w tej tabeli są zapisane w Module (sortowanie, dopisywanie kolumn, zmiana wpisów itp.-generalnie nic nadzwyczajnego). Rozmiar bazy w 'stanie spoczynku' to ok. 350MB. W momencie, kiedy uruchamiam instrukcje Modułu, baza zaczyna 'puchnąć'. Trwa to ok. 15-20min., po czym wyskakuje error (w tej chwili nie pamiętam jego treści), ale na 99% związany jest z przekroczeniem dopuszczalnej wielkości bazy (2GB). Po przeanalizowaniu wyników pracy modułu, wynika, że do zakończenia procesu pozostało ca. 20-30%. Po skompaktowaniu bazy, jej rozmiar ponownie powraca do ca. 400MB. Jak sobie poradzić z taką sytuacją? Czy nie można uruchomić kompaktowania "w locie", aby baza tak nie puchła niemiłosiernie? A może moduł jest jakoś nieszczęśliwie napisany? Z góry przepraszam, za mało fachowy język, ale to dopiero moje początki w zabawach z Accessem (IMG:http://forum.php.pl/style_emoticons/default/rolleyes.gif) pzdr Seb@ |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 374 Pomógł: 3 Dołączył: 30.12.2006 Skąd: co skąd? Ostrzeżenie: (10%)
|
podaj jakieś szczegóły. ciekawe operacje robisz na takiej bazie, ze tak się rozrasta - jednym słowem - jeżeli nie podasz szczegółów to idź do wróżki
|
|
|
|
Post
#3
|
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%)
|
NA accessie sie nie znam ale google mowi ze on ma limit na 2GB ( access 2000) http://www.thescripts.com/forum/thread636758.html
Moze czas na zmiane bazy? |
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 19.06.2007 Ostrzeżenie: (0%)
|
podaj jakieś szczegóły. ciekawe operacje robisz na takiej bazie, ze tak się rozrasta - jednym słowem - jeżeli nie podasz szczegółów to idź do wróżki Co by wróżki do tego nie mieszać, podaję szczegóły operacji. Tabela przed modyfikacją wygląda tak: (IMG:http://img105.imageshack.us/img105/5474/400before1ie0.th.jpg) Po modyfikacji tak: (IMG:http://img516.imageshack.us/img516/782/400afterrx5.th.jpg) , czyli wypełniana jest kolumna LfdNr wg jakiegoś klucza. Niestety nie jestem aż tak biegły, żeby dokładnie opisać mechanizm jej wypełniania. Treść modułu modyfikującego tabelę podaję tu (nie jestem jego autorem): (IMG:http://img146.imageshack.us/img146/811/modulwz2.th.jpg) Błąd, który pojawia się po dojściu do granicznych 2GB : Runtime error '3001', Nieprawidłowy argument. Hmmm...jakieś sugestie? Nadmienię, że przy poprzednich edycjach tej bazy, kiedy nie była ona tak duża na wejściu (ca. 600k-700k wpisów), moduł się nie wysypywał i Access jakoś sobie radził. Ostatnio baza się rozrosła i niestety 'puchnie' przy przetwarzaniu ponad normę (IMG:http://forum.php.pl/style_emoticons/default/angrysmiley.gif) . Jak ktoś ma jakiś pomysł, to proszę o wszelkie sugestie. PS. Może jakiś inny program nie obciążony ograniczeniami rozmiarowymi będzie w stanie wykonać mi instrukcję tego modułu dla mojej tabeli? Znacie takowy?? pzdr Seb@ Ten post edytował SebastianZ1 21.06.2007, 07:13:14 |
|
|
|
![]() ![]() |
|
Aktualny czas: 20.12.2025 - 17:45 |