[ nikitaGradov @ 19.02.2013. 12:43 ] @
Interesuje me da li neko ima iskustva (ili ima predlog kako uraditi) u vezi monitoring-a i 'change tracking'-a sql baze ? Radim u c#, radi se o jednoj desktop aplikaciji. Treba mi mehanizam (u c#-u) za: - monitoring izmjena u sql bazi, i - change tracking. Da pokusam da budem precizniji: - N korisnika (na N racunara) koristi neku aplikaciju, - baza podataka je na domen kontroleru (na kom postoji sql server 2008), - kada korisnik M, recimo, promijeni podatke nekom entitetu (iz aplikacije), zahtjev je da: - svi ostali korisnici dobiju poruku da je M izmijenio podatke, plus - da dobiju informaciju koji atribut je izmijenio (polje 1, ili polje 2, u prevodu: kolonu 1, ili kolonu 2, ...). Ako sam ja dobro razjasnio (sebi) 'stvari', trebaju mi mehanizmi da: - detektujem da se desila promjena u bazi (notification), i - detektujem koja polja (kolone u tabeli) su izmijenjena (change tracking). Notifikaciju (da je tako nazovem) sam, do sada, rjesavao klasom SqlDependency (uglavnom jednostavniji primjeri, tipa: online prikaz novounesenih rekorda u bazu, recimo). Primjenom ovog mehanizma ne moze se dobiti informacija STA je promijenjeno (i koje KOLONE su promijenile vrijednost). Takodje, postoje brojna ogranicenja (recimo, kod kreiranja upita i slicno). Plus sam procitao da je od SQL servera 2008 ovaj koncept 'deprected' (i da ga treba izbjegavati zbog kompatibilnosti sa buducim verzijama). Dalje, Change Tracking mehanizam je dobro opisan na nivou , da tako kazem, baze: postoje primjeri pomocu kojih se moze shvatiti citav scenario: od omogucavanja samog mehanizma change tracking-a, pa do dohvata promijenjenih podataka (kako reda, tako i kolona cije su se vrijednosti promijenile). Ono sto ne mogu da pronadjem je: KAKO pozvati ovaj mehanizam (change tracking-a) iz aplikacije, to jest, iz c#-a ? Da skratim: treba mi prijedlog kako realizovati (da se nasalim 'dvaUjedan'): notifikaciju (o promjeni u sql bazi) plus dohvat (SAMO) promijenjenih vrijednosti (naravno, uz uslov da je prethodno omogucen 'change tracking' mehanizam na nivou baze i same tabele). Hvala unaprijed ... P.S. Nadam se da nisam pogrijesio sto sam i ovo pitanje postavio u ovaj podforum (alternativa je bio podforum za baze podataka) ? |