🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.delphi.bazy-danych
Article #82815

Re: Dziennik operacji

#82815
From: wloochacz
Date: Mon, 10 Jul 2017 11:49
46 lines
3537 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
Technical Details
Message-ID: <596369d3$0$15194$65785112@news.neostrada.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!border2.nntp.ams1.giganews.com!nntp.giganews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
References: <229b9869-138d-4149-a1b7-51f2e27b25d1@googlegroups.com> <596354e1$0$5148$65785112@news.neostrada.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!2.eu.feeder.erje.net!feeder.erje.net!1.eu.feeder.erje.net!weretis.net!feeder4.news.weretis.net!border2.nntp.ams1.giganews.com!nntp.giganews.com!peer03.ams1!peer.ams1.xlned.com!news.xlned.com!peer02.fr7!futter-mich.highwinds-media.com!news.highwinds-media.com!newsfeed.neostrada.pl!unt-exc-02.news.neostrada.pl!unt-spo-b-01.news.neostrada.pl!news.neostrada.pl.POSTED!not-for-mail
Subject: Re: Dziennik operacji
Newsgroups: pl.comp.lang.delphi.bazy-danych
References: <229b9869-138d-4149-a1b7-51f2e27b25d1@googlegroups.com> <596354e1$0$5148$65785112@news.neostrada.pl>
From: wloochacz <wloochacz@no.spam.gmail.com>
Date: Mon, 10 Jul 2017 13:49:31 +0200
User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1
MIME-Version: 1.0
In-Reply-To: <596354e1$0$5148$65785112@news.neostrada.pl>
Lines: 46
Message-ID: <596369d3$0$15194$65785112@news.neostrada.pl>
Organization: Telekomunikacja Polska
NNTP-Posting-Host: 83.21.11.204
X-Trace: 1499687379 unt-rea-a-02.news.neostrada.pl 15194 83.21.11.204:42855
X-Complaints-To: abuse@news.neostrada.pl
X-Received-Bytes: 3201
X-Received-Body-CRC: 3752103960
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit