Forum

SSRS Mail Ayarlama ...
 
Bildirimler
Hepsini Temizle

[Çözüldü] SSRS Mail Ayarlama Sorunu

4 Yazılar
4 Üyeler
4 Reactions
1,836 Görüntüleme
(@atahancelik)
Gönderiler: 11
Eminent Member
Konu başlatıcı
 

Merhabalar, çalıştığım yerde SSRS üzerinden işten çıkan kişiler için otomatik mail atan bir proje oluşturdum.

Mail gönderimi başarıyla sağlanıyor ancak kontrol konusunda bir sıkıntımız var. 

Rapor her gün 17:00'da ilgili tabloları kontrol ediyor ve query içerisinden dönen sonuca göre maili gönderiyor ancak query sonucu boş dönerse raporun gitmemesi gerekiyor.

Bunu kontrol etmek ve engellemek için nasıl bir yol izlemem gerekiyor, yardımlarınız için şimdiden teşekkürler.

 

Not: Veriyi TextBox içerisine çekiyorum ve onun haricinde mail içeriğinde 2 TextBox ve 1 İmage dosyası bulunuyor.  

 
Gönderildi : 04/03/2021 13:42

(@mehmetsucu)
Gönderiler: 85
Estimable Member
 

Merhaba @atahancelik

Gönderim yaptığın query de bunu yapabilirsin.

DECLARE @sorgum nvarchar(MAX);

SELECT @sorgum = 'hazırladığın sorgu';

IF @sorgum IS NOT NULL BEGIN

EXEC sp_send_dbmail

Mehmet SUCU
HBYS Yazılım Uzmanı
[email protected]
****************************************************************
Probleminiz Çözüldüğünde Sonucu Burada Paylaşırsanız.
Sizde Aynı Problemi Yaşayanlar İçin Yardım Etmiş Olursunuz.
Eğer sorununuz çözüldü ise lütfen "çözüldü" olarak işaretlerseniz diğer üyeler için çok büyük kolaylık sağlayacaktır.
*****************************************************************

 
Gönderildi : 06/03/2021 12:25

(@servetcayir)
Gönderiler: 26
Eminent Member
 

Merhaba,

Ben şu şekilde yapmıştım. Umarım işinize yarar.

SSSR de Subscription oluşturun. Schedule kısmını Once olarak ayarlayın.

Arkasından SQL Server da günlük çalışan bir job ayarlayın.

Job da raporda kullanılan dateset in sorgusunda veri geliyorsa raporu gönder şeklinde bir kontrol ekleyin. Veri gelmiyorsa bir şey yapılmayacak.

Aşağıdaki şekilde. XXXX-XXX yazan yere gelecek SubscriptionID bilgisini [ReportServer].[dbo].[Subscriptions] tablosundan elde edebilirsiniz.

IF EXISTS(SELECT Top 1 * FROM TableName )
BEGIN
     EXEC ReportServer.dbo.AddEvent @EventType='TimedSubscription', @EventData='XXXX-XXX-...';

 

 

 
Gönderildi : 15/03/2021 13:15

(@eserdemir)
Gönderiler: 20
Eminent Member
 

Kayıt dönmüyor ise bunu yapabilirsiniz...

DECLARE @sorgum int;

SELECT @sorgum = (SELECT COUNT(SERI_NO) FROM _ESER_SERI_FARK
WHERE STOK_KODU LIKE 'IK%');

IF @sorgum >= '1' BEGIN

exec HATALI_SERI_MAIL
END;

 
Gönderildi : 18/03/2021 09:40

Paylaş: