Stored Procedure İşlem Süresini Kullanıcıya Göstermek

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ı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen tuna »

Merhaba.

Stored procedure işlem yaparken (baya uzun bi işlem çünkü döngüler vs.) bunu delphide kullanıcıya nasıl gösterebilirim.
Yani stored procedure işlem yaparken atıyorum progressbar'da işlemin durumunu nasıl gösterebilirim.


Kolay gelsin....
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen aslangeri »

s.a.
stored procedurede döngüler arasına post_event koyarsın.
program bu evetnı yakaladığı zaman progres barı arttırısın yada kullanıcıya şuanda şu işlem yapılıyor gibisinden bir mesja verirsin.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen sabanakman »

Bir bekletme formu hazırlayıp, Animate bileşeni ile bir bekletme .avi dosyası kullanabilirsin.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen tuna »

aslangeri yazdı:s.a.
stored procedurede döngüler arasına post_event koyarsın.
program bu evetnı yakaladığı zaman progres barı arttırısın yada kullanıcıya şuanda şu işlem yapılıyor gibisinden bir mesja verirsin.
kolay gelsin.
Bi örnek verebilirmisiniz acaba. post_event koyma ve yakalamayla ilgili olarak. Araştırdım ama bi örnek bulamadım pek.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen aslangeri »

s.a.
yeterince araştırmamışsınız demekki :wink:
viewtopic.php?f=19&t=17470&hilit=post+event
bu makalede anlatmış güzelce.
makalenin sonunda sorulan sorunun cevabı da
viewtopic.php?f=2&t=20120&hilit=POST_EVENT
bu linkte var.

post event ile ilgil forumda epey mesaj var.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen sabanakman »

Bu işlemin SQL Server karşılığı sanırım yoktur :shock: . Varsa da ben bilmiyorum, en azından FireBird kadar basit ve pratik değildir. :oops:
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Hakan Can
Üye
Mesajlar: 634
Kayıt: 04 Mar 2005 04:27
Konum: Ankara

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen Hakan Can »

Stored Procedure bizzat progress işleminin görüleceği program tarafından başlatılmayacak mı? O taktirde SP çalışması bitene kadar normal şartlarda bilgi almak mümkün değil. Ya başka program veya aynı program içinde bir TThread aracılığıyla vs. SP çalıştırılacak.

Her halukarda çözüm sorunlu gibi.

SP'yi parametre ile parça parça çalıştırmak gibi bir çözüm veya SP'yi hızlandırmaya yönelik bir çözüm veya SP'yi kısmen veya tümden kaldırmayı sağlayacak bir çözüm bulmak daha uygun sanki.

SP'yi görmekte fayda var sonuçta.
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen tuna »

Ms Sql Server için böyle bir komut yok ('post_event') veya bunun gibi birşey. Ayrıca event'i yakalyabileceğim bir bileşende bulunmamaktadır.
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen tuna »

Arkadaşlar bu sorunuma halen bir çözüm bulmuş değilim...!
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen aslangeri »

s.a.
nedense bu soru sanki fb için sorulmuş gibi hatırlıyorum.
cevaplarda ona yönelik. dediğiniz gibi mssql de post_event yok malesef.
bu durumda şöyle bir şey yapılabilir. Procedure içerisinde başka bir tabloya proceduredeki yapılan işlemin durumu ile ilgili bilgi yazılır. (tabiki ayrı bir transactionda - eğer transactionları kullanıyorsanız) programda ayır bir threadle bu tabloyu kontrol eder.
sonucu ekranda gösteririr.
daha önce denemedim ama şuan yapılabilir gibi geliyor.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen tuna »

aslangeri yazdı:s.a.
nedense bu soru sanki fb için sorulmuş gibi hatırlıyorum.
cevaplarda ona yönelik. dediğiniz gibi mssql de post_event yok malesef.
bu durumda şöyle bir şey yapılabilir. Procedure içerisinde başka bir tabloya proceduredeki yapılan işlemin durumu ile ilgili bilgi yazılır. (tabiki ayrı bir transactionda - eğer transactionları kullanıyorsanız) programda ayır bir threadle bu tabloyu kontrol eder.
sonucu ekranda gösteririr.
daha önce denemedim ama şuan yapılabilir gibi geliyor.
kolay gelsin.
Soruyu ms sql için sormuştum ve sormaktayımda... :D

Dediğiniz yöntem banada mantıklı geldi ama thread ile bunu nasıl yaparım. Thread'a ile biraz araştırmalarımda veri tabanlarıyla ilgili çok fazla örnek bulamadım ve nasıl yapılabileceğini bilmiyorum. Bununla ilgili bir örnek verebilirmisiniz acaba...
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen aslangeri »

açıkçası threat ları hiç kullanmadım. bu yüzden örnek konusunda birşey diyemiyeceğim. ancak
http://www.diyezon.com/ bu adresde threatlarla ile ilgili güzel birkaç makale vardı.
sanırım işinize yarıyabilir.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
Kullanıcı avatarı
vkamadan
Kıdemli Üye
Mesajlar: 1935
Kayıt: 17 Mar 2004 03:52
Konum: Adapazarı
İletişim:

Re: Stored Procedure İşlem Süresini Kullanıcıya Göstermek

Mesaj gönderen vkamadan »

MErhabalar, MS SQL de FireBird deki POST_EVENT gibi database seviyesinden bağlı istemcilere mesaj yayınlamak için "Notification Service" kullanılıyor, hiç kullanmadım örnekleri bu şekilde araştırmanızı öneriyorum, ek bilgi olarak SQL Server Desktop Edition da bazı özelliklerin yanında notification services özelliğide kısıtlanmış ve kullanılamaz durumda.
İyi çalışmalar.
Volkan KAMADAN
www.polisoft.com.tr
Cevapla