Article View: pl.comp.lang.delphi.bazy-danych
Article #81085Re: Dziennik operacji
From: wloochacz
Date: Mon, 10 Jul 2017 13:49
Date: Mon, 10 Jul 2017 13:49
45 lines
2199 bytes
2199 bytes
W dniu 2017-07-10 o 12:20, konsul41@wp.pl pisze: > W dniu 07-07-2017 o 17:10, Pancio pisze: >> Witam, >> Zaczynam pisac aplikacje w Delphi XE7, a za silnik bazy danych >> wybralem MS SQL Express 2014. Aplikacja zaczyna bardzo ladnie mi sie >> rozbudowywac, ale zapragnalem jednej rzeczy, do ktorej ni jak nie wiem >> jak sie zabrac. >> Chodzi mi o to, aby dla 3-4 tabel (choc moze i dla wszystkich) >> tworzony byl swojego rodzaju plik dziennika. Wowczas widzialbym, jaka >> byla historia zmian danych kolumn. W zasadzie nie potrzebuje nic >> wiecej poza informacja z data operacji zmiany oraz o poprzedniej >> wartosci danej kolumny. >> Oczywiscie moge stworzyc dodatkowa tabele, ktora bedzie przychowywac >> takie informacje, ale czy MS SQL robi to jakos z automatu, czy musze >> "recznie" oprogramowac takie zdarzenia jak Insert, Update czy Delete. >> Z gory dziekuje za jakies sugestie. MSSQL posiada mechanizm CDC (google wie o co chodzi), ale nie dla wersji Express, czyli o tym możesz zapomnieć. Chcesz automat, to musiałbyś zmienić podejście do programowania DAC o 180 stopni. Co najmniej. Dlaczego? Ponieważ np. mORMot oferuje podobne możliwości, a także niektóre ORMy. Kiedyś robiłem bieda wersję czegoś takiego, co sprowadzało się do napisania generatora triggerów da określonych tabel (można było sobie wybrać tabele i ich pola, które mają być monitorowane). Dane lądowały w innej tabeli. Potem tylko przeglądarka do tego. Generalnie sporo pracy, jeśli ma to być zrobione dobrze... Inny pomysł to obsłużenie tego przez aplikację w 100%; to może być dość proste do zrobienia, ale trochę też zależy jak ta aplikacja jest napisana. >> -- >> Pancio >> > Nie wiem czego używasz do łączenia z bazą, ale ZEOSY mają coś takiego > jak SQLmonitor i wszystkie zapytania SQL lądują w pliku. > Może to jest dla ciebie, nie koniecznie w samej bazie. Fajnie, tylko znowu odpowiadasz nie do końca na temat. Wyłuskanie z takiego logu informacji o tym, że w interesującej nas tabeli pole X zmieniło wartość na Y2 z wartości Y1, jest praktycznie niemożliwe. Przy okazji to książkowa rzeźba w ... mule, imho. -- wloochacz
Message-ID:
<596369d3$0$15194$65785112@news.neostrada.pl>
Path:
polish.pugleaf.net!archive.newsdeef.eu!apf1.newsdeef.eu!news.usenet.farm!..!..!not-for-mail
References:
<229b9869-138d-4149-a1b7-51f2e27b25d1@googlegroups.com> <596354e1$0$5148$65785112@news.neostrada.pl>