Google E-Tablolara Komut Dosyası ile MySQL Veri Tabanından Otomatik Olarak Veri Almak

Hasan Adıgüzel
4 min readFeb 15, 2021

--

Bu makalede Google E-Tablolara MySQL veri tabanındaki verilerimizi otomatik olarak nasıl aktarabileceğimizi ve bu işlemi yaparken Google Apps Script sistemini nasıl kullanabileceğimizi anlatacağım.

Bölüm 1: Google E-Tablolara MySQL Veri Tabanından Veri Almak

İlk olarak yeni bir Google E-Tablo oluşturabilmek için tarayıcımızın url metni alanına sheets.new yazıp enter tuşuna basmamız yeterli olacaktır. Bu işlem neticesinde içeriği boş bir Google E-Tablo oluşturmuş olacağız.

Görsel: sheets.new Komutunu Tarayıcıda Çalıştırmak

Oluşturmuş olduğumuz E-Tablomuzun sol üst köşesindeki varsayılan tablo adı olan “Başlıksız e-tablo” adına iki kez tıklayarak ve istediğiniz adla değiştirerek e-tablomuzu adlandıralım. Örneğin, tablomuzun adını “MySQL-Verileri” olarak adlandıralım.

Görsel: Varsayılan Tablo Başlığı
Görsel: Değiştirilmiş Tablo Başlığı

E-Tablomuzun üst menüsünde bulunan Araçlar butonuna basmamız dahilinde açılacak listeden Komut dosyası düzenleyici butonuna tıklayarak tarayıcımızda Google Apps Script aracının yeni sekmede açılmasına imkan sağlıyoruz. Yeni sekmede açılan Google Apps Script aracımızın url metninin https://script.google.com/ ile başladığına dikkat etmeliyiz.

Görsel: Komut Dosyası Düzenleyici Butonunun Konumu
Görsel: Google Apps Script Aracı

Apps Komut Dosyası, JDBC hizmeti aracılığıyla harici veri tabanlarına bağlanabilir . Google Cloud SQL, MySQL, Microsoft SQL Server ve Oracle veri tabanlarını destekler. Harici bir veri tabanını JDBC ile güncellemek için, komut dosyanızın veri tabanına bir bağlantı açması ve ardından SQL ifadeleri göndererek değişiklikler yapması gerekir. JDBC hizmetini kullanarak bir veri tabanı bağlantısı oluşturmak için, Apps Komut Dosyası’ nın veri tabanımıza erişmesine izin vermek için veri tabanı ayarlarımızdaki belirli IP aralıklarını beyaz listeye eklemeniz gerekir. Eğer sunucunda IP adresi kısıtlama işlemi yapmıyorsanız beyaz listeye ilgili IP adreslerini eklemenize gerek yoktur aksi takdirde Beyaz listeye eklemeniz gereken adres aralıkları şunlardır:

  • ‍64.18.0.0–64.18.15.255
  • 64.233.160.0–64.233.191.255
  • 66.102.0.0–66.102.15.255
  • 66.249.80.0–66.249.95.255
  • 72.14.192.0–72.14.255.255
  • 74.125.0.0–74.125.255.255
  • 173.194.0.0–173.194.255.255
  • 207.126.144.0–207.126.159.255
  • 209.85.128.0–209.85.255.255
  • 216.239.32.0–216.239.63.255

Beyaz listeye eklemeniz gereken ip adresleri hakkında detaylı bilgi almak için https://developers.google.com/apps-script/guides/jdbc adresini ziyaret edebilirsiniz.

Apps Komut Dosyamızda hali hazırda gelen myFunction() isimli bir metodun yer aldığını gözlemlemekteyiz. Komut dosyamızdan bu fonksiyonu silerek aşağıda yer alan kodları yapıştırıyoruz. Aşağıda ki kodu komut dosyanıza yapıştırdıktan sonra açıklama satırı bulunan değişkenlerin değerlerini kendi veri tabanı bilgilerinize göre değiştirin.

Görsel: Örnek Kod ve Kaydet Butonu

Yukarıdaki kod satırında örnek olarak tbl_staff tablosunun ilk 15 kaydı çekilmektedir. Kod satırındaki sql sorgunuzu kendi sorgunuz ile değiştirerek devam edebilirsiniz.

Bu makalede örnek olması için kendi MySQL veri tabanımda bulunan tbl_staff tablosundan veriler çekeceğim. Bu işlem için örnek kodda _sqlQuery değişkenine değer olarak aşağıda yer alan sql sorgusunu string veri tipinde atayacağım.

Select * From tbl_staff Limit 15;

Örnek koddaki ilgili alanları kendi verileriniz ile güncelledikten sonra üst menüde bulunan kaydet butonuna basarak yapmış olduğunuz değişiklikleri kaydetmeniz gerekir. Yaptığınız değişikleri kaydettikten sonra üst menüde bulunan Çalıştır butonuna basıp, istenilen gerekli izinleri verdikten sonra Google E-Tablomuzda MySQL veri tabanımızdaki verilerin listelendiğini gözlemleyebiliriz.

Görsel: MySQL Veri Tabanından Çektiğimiz Veriler

Bölüm 2: Verileri Otomatik Olarak Almak

Şimdi size verilerinizi her dakika almak ve yenilemek için gereken işlemleri anlatacağım. Her seferinde, Google E-Tablolar’ a manuel olarak veri çekmek yerine bu işi her dakikada bir otomatik olarak nasıl yapabileceğimize bir bakalım.

Google E-Tablolara her dakikada bir veri alırken ilgili sayfadaki mevcut içeriği temizleyip sayfaya veri tabanındaki verileri çekeceğiz. Bu işlem için mevcut kodumuzun sonuna aşağıda yer alan kodu eklememiz yeterli olacaktır.

Yukarıda yer alan kodu mevcut kodumuza ekleyip, değişiklikleri kaydettikten sonra uygulamamızı çalıştırarak her dakikada bir MySQL veri tabanından veri çekip tablomuza yazan fonksiyonu elde etmiş oluruz.

Google Apps Script’ de ki kodlamamızın son hali aşağıdaki gibi olmalıdır. Tabili aşağıdaki kodda bulunan ilgili değişkenleri kendi verilerinize göre düzenlemeniz gerektiğini unutmayın.

Yazar: Hasan Adıgüzel, Şubat 2021

Web Sitesi: http://hasanadiguzel.com.tr

--

--

Hasan Adıgüzel
Hasan Adıgüzel

Written by Hasan Adıgüzel

Software Developer & Database Administrator

No responses yet