2012-05-17 22 views
9

Bir veritabanındaki belirli tabloların içeriğinin ne zaman değiştiğini bilmek mümkün mü? SQL Server'm, istemci uygulamalarının, verilerin başka bir kullanıcı tarafından değiştirildiğini nasıl bildirir? DbGo ile sorgu bildirimleri nasıl uygulanır?İstemci-Sunucu veritabanı uygulaması: Verilerin değiştiği müşterilere nasıl bildirilir?

İstemcilerin veritabanını sorgulaması mı gerekiyor, yoksa bunun için bir geri çağırma mekanizması var mı?

İstemcim TADODataSet ile bir Delphi uygulamasıdır ve sunucum SQL Server 2005/2008, birden çok istemciye hizmet vermektedir.

+1

Olası yinelenen http://stackoverflow.com/q/9671284/960757 – TLama

+1

@TLama, hala orada TADODataSet ve SQL-Server için kesin bir çözüm. – ZigiZ

+1

['Bu yanıt'] (http://stackoverflow.com/a/9671708/960757) doğruysa, * dbGo (ADO) bildirimleri desteklemiyor * ... – TLama

cevap

1

Hayır, bunu yapmak için kendi "orta katman" inşa etmesi gerekir. En basit yol, sunucuyu yok etmektir. Daha karmaşık bir çözüm, veritabanını sorgulayan ve bildirimleri istemcilere gönderen kendi "orta katman" sunucunuzu oluşturmaktır (kendi istemci bağlantınızla).

Orta zemin çözümü, sunucuda ayrı bir istemcinin, "izleme" ve "onaylama bayrakları" yazmasını istemcileriniz tarafından sorgulanabilen başka bir veritabanı tablosuna yazmanız için gerekli tabloları yok etmektir. En azından bu şekilde istemciler, basit bir tabloyu neyin değiştiğini listeleyen ve daha sonra başka bir seçme sorgusu tarafından okunabilen minimal verilerle sorgulayabilirler. Müşteriler tarafında çok daha az çaba.

+0

Ayrıca bir "karışık orta-zemin" yolu vardır: Kayıt-değişen veritabanı istemci uygulamaları kendilerini (uygulama sunucusu tarafı mantığı dahil) yayın gönderebilir 'kayıt değişti!' orta düzeydeki tüm dinleme istemcilerine mesajlar. Bu değişiklik hakkında diğer uygulamaları bildirmek için 'acil' bir yol olurdu. Ayrıca, 'sunucudaki ayrı istemciniz', sorgulama miktarını azaltmak için daha uzun aralıklarla çalışabilir ve her istemci tarafından oluşturulan bir bildirim iletisi aldığında yoklama döngüsünü atlayabilir ... – mjn

İlgili konular