selamın aleyküm..
arkadaşlar firebird deki meşhur ağ kullanıcıların aynı anda değişiklikleri görememe problemi (ibevents ve triger ile problem halloluyormuş ama ben daha yapamadım)..neyse bu durum tüm sql veritabanlarında varmı yoksa firebird'de özgü birşeymi..neden bizi ibeventsla falanla filanla uğraştırıyor.ben terminal kullanıcıda;
xquery.applyupdates;
ibtransaction.commitretaining;
yaptığımda artık herkesin görmesi lazım bence..
birde işin mantığı ibeventsla yeni kayıt olduğunu anlayıp tabloyu refresh ediyor...ama terminaldeki programda select den önce tablo kapatılıp slectden sonra açılıyor zaten o zaman refresh'in kralını yapıyoruz..illa serverdaki firebird kendini refreshmi etmeli...benimki bir sorundan ziyade fikir almaktı..
teşekkürler..
firebird ve ağ desteği..
s.a.
ib eventsla uğraşılmasının sebebi değişikiğin anında güncellenmesi.
siz terminal makineden commit ettiğiniz zaman kayıtlar servere yazılır. siz commiti yaptığınız sırada aynı tabloya bakan ve sizin commitinizden önce tabloyu açmış olan kullanıcıların sizin yaptığınız değişiklikleri görebilmeleri için tabloyu refresh (açıp kapama) işlemi yapmları lazım.
bundan daha doğal bi şey yok.
ib eventslar burda devreye giriyor. server terminallere tabloda bir değişiklik olduğunu bildiriyor. isteyen yeni değerleri alsın diyor. refresh yaparak yeni değerler alınıyor.
bilmem açıklayıcı oldumu yada sorunuza tam yanıt alabildinizmi?
kolay gelsin.
ib eventsla uğraşılmasının sebebi değişikiğin anında güncellenmesi.
siz terminal makineden commit ettiğiniz zaman kayıtlar servere yazılır. siz commiti yaptığınız sırada aynı tabloya bakan ve sizin commitinizden önce tabloyu açmış olan kullanıcıların sizin yaptığınız değişiklikleri görebilmeleri için tabloyu refresh (açıp kapama) işlemi yapmları lazım.
bundan daha doğal bi şey yok.
ib eventslar burda devreye giriyor. server terminallere tabloda bir değişiklik olduğunu bildiriyor. isteyen yeni değerleri alsın diyor. refresh yaparak yeni değerler alınıyor.
bilmem açıklayıcı oldumu yada sorunuza tam yanıt alabildinizmi?
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
POST_NAME veya EVENT_NAME anahtar kelimesi ile
arama yapabilirsin
viewtopic.php?t=12515&highlight=eventname
viewtopic.php?t=3625&highlight=eventname
viewtopic.php?t=8900&highlight=eventname


viewtopic.php?t=12515&highlight=eventname
viewtopic.php?t=3625&highlight=eventname
viewtopic.php?t=8900&highlight=eventname
Bilgiyi paylaşarak artıralım! Hayatı kolaylaştıralım!!
- Terminator
- Üye
- Mesajlar: 313
- Kayıt: 13 Ara 2005 01:45
- Konum: İzmir, ama Aydın Efesi!
Eventlarla ilgili sorunun nedir anlayamadım.
bir event, işlem kesinleşince yollanır. yani commit edilince eventlar
kuyruktan sırayla networke duyurulur.
bunun alıp almamak, değerlendirip değerlendirmemek kullanıcıya kalmıştır.
çok kullanıcılı bir sistemde aynı anda bir sürü update, insert ve delete yapılırken, trigger ve procedure çalışırken ve bunlardan sürekli event gelebilecekken, client compenentlerinin datasetlerini bu eventlarla otomatik kendini tazelemesi abesle iştigaldir. bunu sen yaptıracaksın.
senin görevin bu, sen programcısın component drag dropper değil.
üstelik herkes aynı kullanmaz db yi. bazıları snapshot kullanır, ve tutarlı raporlar almaya çalışır. ya da replicasyon yapar ya da backup alır.
eventları akıllıca dinleyip, adına, parametresine göre yeni datayı fetch etmek, data sete eklemek ya da dataseti close open ile tazelemek senin projenin terbiyesine ve ihtiyaçlarına kalmıştır.
yoksa hiç kimse yüzlerce clienta sürekli push edilen tablolar istemez.
kullanıcı da ekranında sürekli lök lök istemdışı değişip duran gridler, comboboxlar, listboxlar görmek istemez. bunun yönetimini sen yapacaksın
event gelirse bir ledi yakarak kullanıcıyı refreshe teşvik edebilirsin mesela.
bir süre güzel çözüm var biraz düşününce..
event sisteminin yaratıcısı bir VT yi kullanıyorsun.
bir event, işlem kesinleşince yollanır. yani commit edilince eventlar
kuyruktan sırayla networke duyurulur.
bunun alıp almamak, değerlendirip değerlendirmemek kullanıcıya kalmıştır.
çok kullanıcılı bir sistemde aynı anda bir sürü update, insert ve delete yapılırken, trigger ve procedure çalışırken ve bunlardan sürekli event gelebilecekken, client compenentlerinin datasetlerini bu eventlarla otomatik kendini tazelemesi abesle iştigaldir. bunu sen yaptıracaksın.
senin görevin bu, sen programcısın component drag dropper değil.
üstelik herkes aynı kullanmaz db yi. bazıları snapshot kullanır, ve tutarlı raporlar almaya çalışır. ya da replicasyon yapar ya da backup alır.
eventları akıllıca dinleyip, adına, parametresine göre yeni datayı fetch etmek, data sete eklemek ya da dataseti close open ile tazelemek senin projenin terbiyesine ve ihtiyaçlarına kalmıştır.
yoksa hiç kimse yüzlerce clienta sürekli push edilen tablolar istemez.
kullanıcı da ekranında sürekli lök lök istemdışı değişip duran gridler, comboboxlar, listboxlar görmek istemez. bunun yönetimini sen yapacaksın
event gelirse bir ledi yakarak kullanıcıyı refreshe teşvik edebilirsin mesela.
bir süre güzel çözüm var biraz düşününce..
event sisteminin yaratıcısı bir VT yi kullanıyorsun.