Tabledeki Değişiklikler oluştuğunu anlamak

MS SQL Server veritabanı ve SQL komutlarıyla ilgli sorularınızı sorabilirsiniz. Delphi tarafındaki sorularınızı lütfen Programlama forumunda sorunuz.
Cevapla
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Tabledeki Değişiklikler oluştuğunu anlamak

Mesaj gönderen pro_imaj »

Merhaba;

MSSQL Serverda. herhangi bir databasedeki herhangi bir tablede değişiklik yapıldığını delphi tarafından nasıl anlarım acaba.

sql server değişiklik yapıldı msj nasıl veriri ve ben bu msj nasıl algılarım.

Saygılarımla
Teşekkürler.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

öncelikle bir trigger belki bu bu bilgiyi sana verir.
transaction(insert/update/delete) da tablo tetiklenir.

DElphi ile de bu trigger da dönen sonuc a bakılabilir.

@dynamo'nun makalesi

viewtopic.php?t=19475
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Kullanıcı avatarı
pro_imaj
Kıdemli Üye
Mesajlar: 1364
Kayıt: 18 Oca 2005 05:45
Konum: Dünyadan

Mesaj gönderen pro_imaj »

Merhaba;
Kendi yazdığım prg ekleme silme işlemini yapmıyor.
Bir ticari prg tablesindeki değişikliği dışarıdan bulmak istiyorum.

Yani kayıt edilirken veya silinirken işlemi benim yazdığım prg yapsalar sorun yok zaten!

Triger dışarıdan veri alamıyor veya trigerdaki msj yakalayamıyoruz.

Ne önerirsiniz.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
Kullanıcı avatarı
conari
Üye
Mesajlar: 2102
Kayıt: 27 Nis 2006 03:10
Konum: İstanbul & Gebze Karışık

Mesaj gönderen conari »

Verinin nerden girildiği önemli değil ki,
Triggerin hangi tabloya bağlı olduğu önemli,Siz eğer db ye kendi programın ile erişebiliyor isen

tablo için bir trigger yaz.
ve create et db de.
sonra da kendi programında
dynome nin dediği gibi bu dönen bilgiyi(trigger da verdiğin mesajları) memo ya alırsın.
Bir kelimenin anlamını öğretsen bile yeter..
ResimResim
Glen
Üye
Mesajlar: 277
Kayıt: 12 Eki 2005 11:58

Mesaj gönderen Glen »

Merhaba,

bence profiler programinin nasil calistigini, traceleri nasil yakaladigini arastirmakta fayda olur. Eger traceleri okuyabilirseniz, sadece kayit ekleme silme vs. degil trace'i baslattiginizdan bu yana MS-SQL ile ilgili yapilann her türlü islemi yakalayabilirsiniz..

sp_trace_create olmasi lazim, bunun uzerine yogunlasirsaniz sanirim probleminizi halledebilirsiniz.

Kolay gelsin.
unalaygun
Üye
Mesajlar: 139
Kayıt: 27 Mar 2004 12:34
Konum: istanbul

eğer sql server kullanıyorsanız

Mesaj gönderen unalaygun »

eğer sql server kullanıyorsanız arkadaşın belirttiği gibi profiler ile herşeyi görebilirsiniz.
bunun için filterlar mevcut ben size basit olarak bir kaç tanesini vereyim.
sizin x kullanıcısının yaptığı işlermleri görmek istediğinizi varsayalım.

x kullanıcısı y veritananında kayıt işlemi yapıyor ve siz bu kayıt işlemini yada kayıt işleminin hangi tabloları etkilediğini gibi. çoğaltılabilir.

önce profiler ı açıyorunuz oradaki filtelerden database Id ya da name ini giriyoruz çalışılan veritabanındaki işlemler için daha sonra..

kullanıcının adını giriyorsununz ve çaşıtırıyrsunun.
daha sonra kullanıcın yaptığı her işi ve arkada çalışan sorguları görebilir sorguların ise hangi tabloları etkilediğini bulabilirsiniz..
kolay gelsin..
derviş
Cevapla