Forum
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.
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.
*****************************************************************
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-...';
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;