SQL Server ile Telegram’a Bildirim Gönderin
  1. Anasayfa
  2. SQL Server

SQL Server ile Telegram’a Bildirim Gönderin

1

Bugün sizlere SQL Server‘ı yönetirken elde ettiğiniz bildirimleri nasıl Telegram’a gönderebileceğinizi anlatıyor olacağım. Geçmiş dönemde zaten bu tarz bildirimleri mail,slack gibi ortamlara gönderilmesi ile ilgili olarak içerikler hazırlamıştık.

Öncelikli olarak ilk yapmamız gereken tabi ki bir telegram hesabına sahip olmak. Telegram hakkında da temel bilgi vermek isterim. Hepimizin kullandığı WhatsApp tarzı bir mesajlaşma platformudur ve her iki ürünü birbirlerinden ayıran farklı özellikleri söz konusudur. Konu içerisinde anlatacağımız bildirim gönderimini whatsapp’den yapmak için WhatsApp business’a yada farklı ara yazılımlara ihtiyaç duyabilmekteyiz.

Telegram hakkında bilgi paylaştıktan sonra yapmamız gereken telegram içinde bildirim gönderimini yapabilmek için bir token ve bir chat_id elde edebilmek. Bunun için web.telegram.org adresine giriş yapıyoruz.

Resim-1 

Search kısımına @BotFather yazıyoruz ve konuşmayı start ile başlatıyoruz.

Resim-2

Yukarıdaki resimde görüldüğü gibi @BotFather ile aslında bir çok içeriğe yönelik destek alabiliyoruz. Bizim yapmak istediğimiz yeni bir bot oluşturmak. Bunun için /newbot yazıyoruz. Bizden ilk önce bot için bir isim daha sonrasında da bot için bir username bilgisi istiyor.

Resim-3

Resim3 özelinde dikkat edilmesi gereken kısım username bilgisinin _bot ile bitme zorunluluğunun olması ve yine aynı resimde size bu botu kullanmanız için ihtiyaç duyacağınız http API bilgisini veriyor olması, bu bilgiyi not almayı unutmayın!

Sırada Chat_id bilgisinin alınması var. Bunun için resim-2 de verdiğimiz username arayıp kendisine bir merhaba demeliyiz ki bize alınmasın. (Arayıp bulup,start diyoruz.)

Resim-4 

Oluşturduğumuz botumuza Merhaba dedikten sonra yapmamız gereken aşağıda vereceğim adresi yeni bir browser sekmesinde düzenleyip açmanız gerekiyor.

https://api.telegram.org/bot<HTTPTOKENAPI>/getUpdates

Burada <HTTPTOKENAPI> yazan kısımı Resim3 de gördüğümüz HTTPAPI bilgisi ile değiştiriyoruz. İşleme devam edince karşımıza aşağıdaki gibi bir ekran geliyor.

Resim-5 

Telegram üzerinden yapılması gerekenleri tamamladık, şimdi elimizde bir Token bilgisi bir de Chat_id bilgisi var. Bu iki bilgiyi kullanarak SQL Server’da http post request yapıp bildirimimizi göndereceğiz. Bu işlem için öncelikli olarak SQL Server tarafında Ole nesnelerinin kullanımı açmamız gerekmekte.  Aşağıdaki kod bloğu ile bu işlemi gerçekleştirelim.

EXEC sp_configure ‘Ole Automation Procedures’, 1;
GO
RECONFIGURE;
GO

Şimdi ise bildirimi yapacağımız sorgumuzda sıra, Sorguda değiştirilmesi gereken iki kısım mevcut. Elimizde bulunan Token ve Chat_id bilgilerini girip istediğimiz bildirimi yazıp sorguyu çalıştırıyor olacağız. (@TelegramToken ve @TelegramChatId bilgilerini doldurmalısınız!)

DECLARE @responseText NVARCHAR(2000);
DECLARE @responseXML NVARCHAR(2000);
DECLARE @ret INT;
DECLARE @status NVARCHAR(32);
DECLARE @statusText NVARCHAR(32);
DECLARE @token INT;
DECLARE @url NVARCHAR(256);
declare @TelegramToken NVARCHAR(256);
declare @TelegramChatId NVARCHAR(32)
declare @TelegramMesaj  NVARCHAR(32)

set @TelegramToken =”
set @TelegramChatId = ”
set @TelegramMesaj = ‘Çağlar Özenç – DMC Bilgi Teknolojileri ‘

SET @url = ‘https://api.telegram.org/bot’ + @TelegramToken +’/sendMessage?chat_id=’+@TelegramChatId+’&parse_mode=Markdown&text=CAGLAROZENCSQLServer-DMC’;

— Open the connection.
EXEC @ret = sp_OACreate ‘MSXML2.ServerXMLHTTP’, @token OUT;
IF @ret <> 0 RAISERROR(‘Unable to open HTTP connection.’, 10, 1);

— Send the request.
EXEC @ret = sp_OAMethod @token, ‘open’, NULL, ‘POST’, @url, ‘false’;
EXEC @ret = sp_OAMethod @token, ‘setRequestHeader’, NULL, ‘Authentication’, null;
EXEC @ret = sp_OAMethod @token, ‘setRequestHeader’, NULL, ‘Content-type’, null;
EXEC @ret = sp_OAMethod @token, ‘send’, NULL, null;

— Handle the response.
EXEC @ret = sp_OAGetProperty @token, ‘status’, @status OUT;
EXEC @ret = sp_OAGetProperty @token, ‘statusText’, @statusText OUT;
EXEC @ret = sp_OAGetProperty @token, ‘responseText’, @responseText OUT;

— Show the response.

PRINT ‘Status: ‘ + @status + ‘ (‘ + @statusText + ‘)’;
PRINT ‘Response text: ‘ + @responseText;

— Close the connection.
EXEC @ret = sp_OADestroy @token;
IF @ret <> 0 RAISERROR(‘Unable to close HTTP connection.’, 10, 1);

Sorgu çalışması sonrasında işleminiz başarılı olduysa verdiğiniz bilgilendirme telegram’a gelecektir.

Resim-6

Bu yöntemi kullanarak yönetiminizde olan SQL Server Veritabanı Sunucularında gelişen durumlardan hızlıca bilgi sahibi olabilirsiniz. Farklı geliştirmeler ile bildirimleri telegram gruplarına gönderebilir, sizin haricinizde bir çok kişiye anlık bilgilendirme yapmış olabilirsiniz.

Bu konuyla ilgili sorularınızı  alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar

www.mshowto.org

TAGs: sql, SQL Server, sql server notification send telegram, sql telegram

Bu İçeriğe Tepkin Ne Oldu?
  • 4
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

Milenyumdan beri ilginç bir merak duygusu ile başlayan bilgisayar ve teknoloji dünyası merakı sayesinde eğitim yaşantımı doğup büyüdüğüm Düzce'de geçirdim. Sonrasında Düzce'nin kendimi geliştirmek adına yeterli imkanlara sahip olmadığından İstanbul'a gelip Bilge Adam Eğitim Kurumlarından Yazılım ve Veritabanı eğitimi aldım. Eğitimimi tamamlarken çeşitli Windows ve Web uygulamaları geliştirdim.Sırası ile Sentez Yazılım, Nebim Yazılım, Ciceksepeti, Doğan Holding, Kariyer.Net, TurkNet gibi firmalarında Yönetici / Müdür pozisyonlarında farklı ünvanlarda ( Yazılım Geliştirici / Raporlama ve Veritabanı Yöneticisi gibi) görev aldım. Şimdilerde ise DMC Bilgi Teknolojileri firmasının Kurucu Ortaklığını ve Veritabanı Danışmalığı Hizmeti vermekteyim.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Yorumlar (1)

  1. 30/03/2023

    Merhaba;
    Öncelikle bu bilgi için çok teşekkürler. Benim sorum şu yönde;
    SQL tabanlı bir depo ve rapor yazılımı kullanıyoruz. Buradaki raporları anlık olarak telegram grubuna aktarmak istiyoruz. Bir yede görmüştüm telegram grubuna “raporver” şeklinde bir mesaj atıyor ve detaylı olarak hazırlanan rapor telegram grubuna mesaj olarak geliyor. Bunu nasıl sağlayabiliriz?

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir