Witam,
w aplikacji Vulcan opartej o dbf zdarzają się powtórzenia tych samych rekordów - czasami z danymi, a czasmai puste (po zapisaniu) np. księgowań.
Aplikacja dział na serwerze, a z aplikacji korzysta kilku userów.
Co moze być powodem?
Jak to sprawdzasz? Skąd wiesz, że są duble?
Pani wprowadza okreśłone księgowanie i robi zapisz. Czasami po tym działaniu dany rekord (dane) są identyczne w kilku rekordach (z poziomu aplikacji- w okreśłonej formatce). Dzieje się to na różnych komputerach i 2 do 3 razy w tygodniu. Baza jest w udostepnionym udziale na serwerze.
Ale tylko w dedykowanym programie sprawdzasz, a nie DBU, Access, Excel?
Tylko w aplikacji. Wówczas robimy naprawę bazy z poziomu aplikacji i jest ok do nastęnego razu.
Czy to wina sieci komputerowej? A może to wina jakiejś konfiguracji stacji roboczej, a może samej aplikacji?
To postaraj się sprawdzić jakoś inaczej. Może tylko indeksy się uszkodziły... Jeszcze zależy czy DBF3, czy DBF4. Jak 3, to można je usunąć. Z 4 trochę więcej zachodu...
A możesz podać jak sprawdzić wersję dbf oraz jak naprawić indeksy 3 i 4?
Już mało pamiętam z DBF. 20 lat temu się nimi zajmowałem...
Zdublowane rekordy znikające po naprawie bazy to niemal na 100% uszkodzone pliki indeksowe
Pytanie dlaczego te indeksy się uszkadzają?
Skoro zrobi się naprawę bazy danych - to można założyć,że indeksy są już OK?
@cybernetykpl:
Niestety ale taka ich uroda, że łatwo je uszkodzić. Indeksy, podobnie jak i tabele DBF są zwykłymi plikami do których aplikacja ma bezpośredni dostęp. Zapisy i odczyty odbywają się bezpośrednio przez systemowe dojścia do pliku. Przy pracy w sieci, kiedy pliki są umieszczone na serwerze plikowym, wystarczy chwilowa awaria sieci w trakcie zapisu i masz uszkodzony plik .
Sprawdź czy współdzielony folder ma wyłączone buforowanie (pod sambą oplocks), bez tego pliki będą się uszkadzać.
To jest na Windows server. Czyli wyłączyłem dostępność plików w wersji offline dla udziału sieciowego. Czy mam też wyłączyć buforowanie całego dysku?