Arkadaşlar,

Yapılan masaüstü bir uygulamada mssql'e veri eklenince anlık olarak ekranda göstermek istiyorum ama belirli aralıklarla çok veriyi sorgulamak mantıklı olmuyor.Masaüstü uygulaması veritabanını dinlese yeni bir kayıt atılır atılmaz o kayıt ile ilgili bir event tetiklense masaüstü uygulamasında aynı mssql deki trigger gibi bunu uygulamada nasıl yapabilirim?

Mssql'e gelen veri web servisleri üzerinden , mobile veya web sitesin den geliyor olabilir.Sadece kayıtlar masaüstü uygulamasın da görünüyor

soruldu: 28 Mar '13, 03:07

gokhanakgol's gravatar image

gokhanakgol
705687777
cevap kabul oranı: 30%

değiştirildi: 16 Nis '13, 02:55

mhkoca60's gravatar image

mhkoca60
1.8k264554

Trigger ile halledebilirsin.

(28 Mar '13, 03:25) Turgay Can Turgay%20Can's gravatar image

Trigger kullanımını biliyorum ama o sql tarafında, uygulamda o trigger ı nasıl kullanmam lazım?

(28 Mar '13, 03:49) gokhanakgol gokhanakgol's gravatar image
1

http://docs.oracle.com/cd/F49540_01/DOC/java.815/a64686/04_call2.htm

fazla vaktim olamadığından ötürü bu tutorial'ın linkini paylaşıyorum.

(28 Mar '13, 03:53) Turgay Can Turgay%20Can's gravatar image
1

Bir başka tabloya yeni kayıt var şeklinde bir işaret koyup (örneğin diğer tablodaki kayıdın id değeri olabilir) o tabloyu belli aralıklarla sorgulayın. Ya da son n sayıdaki kayıdı bu tabloya ekleyin ve buradan okuyup gösterin. Masaüstü uygulamaları bu tabloyu dinlesin.

(15 Nis '13, 11:47) ertuncefeoglu ertuncefeoglu's gravatar image

Bu çok yavaş bir yöntem olur kullanıcı sayısının 100 leri hatta 1000 leri bulduğu anda sunucu napıcak peki?

Uygulama konusunda acemi değilim sadece sql deki trigger ı kod tarafında nasıl yakalarız onu bilmiyorum

(16 Nis '13, 02:49) gokhanakgol gokhanakgol's gravatar image

Yorum olarak yazmalısınız.

BTSoru Kullanım Klavuzu

(16 Nis '13, 02:54) mhkoca60 mhkoca60's gravatar image

dreampowder'ın verdiği linklerde bunun c#, mssql tarafında nasıl yapılacağını anlatan tutorial'lar mevcut.

(16 Nis '13, 03:11) Turgay Can Turgay%20Can's gravatar image

1000 kere trigger çalıştırmak da yeterince performanslı olmayacaktır. Masaüstü uygulamasında kullanıcı ne tür bir işlem yapacak bu yoğunlukta veri geliyorsa?

(16 Nis '13, 03:15) ertuncefeoglu ertuncefeoglu's gravatar image
9 yorumdan 5 tanesi gösteriliyor hepsini göster

Aklıma şöyle bir çözüm geldi.

Bir tane c# tarafında clr function yazılıp,bu fonksiyon sql server'e register edildikten sonra,tablonun triggerında bu clr fonksiyon çağrılır.

clr fonksiyon içersinde de, senin uygulamana eğer bir windows uygulaması ise ,bir windows message'ı gönderir.

sen de uygulamanda bu windows message'ını yakalayıp, ona göre select çekersin.

Ama ne kadar efektif çalışır bir fikrim yok :)

Tabi bir fikir :)

permanent link

cevaplandı: 29 Ara '13, 12:00

ismailkocacan's gravatar image

ismailkocacan
2.4k31733
cevap kabul oranı: 13%

benimde aynı sorum trigger ile nasıl yapılacak bir proje üzerinde çalışıyorum eğer trigger la nasıl yapılacağını biliyorsanız yardımcı olabilrseniz çok sevinirim.

permanent link

cevaplandı: 29 Ara '13, 06:43

ilknur's gravatar image

ilknur
31234
cevap kabul oranı: 0%

Veritabanını taşımam gerektiğinde Trigger sorunlar çıkarabilir. Örneğin programı DB2'da çalıştırmak isterseniz, orada Trigger olayı bambaşka ve yeniden öğrenilmesi gerekiyor. Triggerin yoğun trafikte veritabanını yorduğu da bir gerçek.

Ben Indexlenmiş olarak insertDate ve updateDate fieldlerinin eklenmesini ve veri okuyacak programların, veriyi okuduğu son tarihen sonra eklenen ve/veya güncellenen verileri sorgulanmasının problemi çözeceğini düşünüyorum.

permanent link

cevaplandı: 29 May '14, 04:17

SaRPaRDa's gravatar image

SaRPaRDa
5.0k213165
cevap kabul oranı: 27%

Cevabınız
toggle preview

Bu soruyu takip et

E-Posta üzerinden:

Üyelik girişi yaptıktan sonra abonelik işlemlerini yapabilirsiniz

RSS üzerinden:

Cevaplar

Cevaplar ve Yorumlar

Yazı Formatlama

  • *italic* ya da _italic_
  • **bold** ya da __bold__
  • link:[text](http://url.com/ "başlık")
  • resim?![alt text](/path/img.jpg "başlık")
  • liste: 1. Foo 2. Bar
  • temel HTML etiketleri de kullanılabilir

Bu sorunun etiketleri:

×53

Soruldu: 28 Mar '13, 03:07

Görüntüleme: 2,200 kez

Son güncelleme: 29 May '14, 04:17

powered by BitNami OSQA