Power Automate ile SQL Bulk Insert

Lütfi Dereli
3 min readJun 10, 2021

Verileri toplu şekilde SQL serverdaki veritabanına ekleme işleminin birden fazla yöntemi bulunmakta. Bu yazıda Microsoft’un süreçleri otomatikleştirmek için kullandığı flow (Power Automate) yardımı ile bu işlemi anlatmaya çalışacağım.

Power Automate ile ilgili detaylara Microsoft dökümanları vasıtası ile ulaşabilirsiniz:
https://docs.microsoft.com/tr-tr/power-automate/getting-started

Bulk Insert via Power Automate

Not: Belirtmekte fayda var flow adımlarında kullanılacak olan adımlardan bazıları Microsoft’un belirlediği farklı lisanslara tabi olabilir. Lisanlama hakkında merak ettiklerinize buradan ulaşabilirsiniz:
https://docs.microsoft.com/tr-tr/power-platform/admin/powerapps-flow-licensing-faq

Daha önceden oluşturulmuş bir environmentınız varsa, az sonra uygulanacak olan adımları orada oluşturacağınız clod flow ile gerçekleştirebilirsiniz veya hali hazırda Power Automate adresinden de bir flow oluşturup çalışmaya başlayabilirsiniz.

Ekleme işlemi excell ile gerçekleştirileceği için dikkat edilmesi gereken birkaç nokta bulunmakta:

Eklenmek istenilen veriler excelle yapıştırıldıktan sonra verileri tablo formatına getirip, oluşturulan tabloya bir isim verilir. Excell’de Design ribbonun altında bu seçeneği görebilirsiniz (eğer yoksa File -> Option -> Customize Ribbon ile ribbonlarınızın olduğu tabe ekleyebilirsiniz)Bu tablo ismini oluşturulacak olan flow üzerinde kullanacağız

Flow’un Oluşturulması

Öncelikle New Flow a tıklayarak, Automated Cloud Flow seçeneğini seçtikten sonra flowunuzun insert işlemini gerçekleştirmek için gerekli olan trigger(tetikleyici) belirlemeniz gerekiyor. Doğrudan excell dosyası içerisinden listelenen kayıtları yapmak için When a file created in a folder tetikleyicisini seçerek flowunuzu oluşturabilirsiniz.

Excell dosyanızdaki kayıtların insert yapacağınız veritabanındaki kolonlar ile uyumlu olduğuna emin olduktan sonra, Sharepoint üzerinde bir klasör oluşturup, bu klasöre yeni bir dosya eklendiğinde flowunuzu tetikleyebilirsiniz.

Öncelikle Sharepoint üzerinde oluşturulan klasör yolunu Site Address kısmına ekleyerek Folder Id kısmından ilgili folderı seçmelisiniz.

İkinci aşamada ilgili dosyaya ulaşmak için aynı adres üzerinden erişilecek Sharepoint dosyanızı belirtiyorsunuz (Klasör ikonu vasıtası ile manuel olarak seçebilirsiniz)

Benzer şekilde tabloda listelenen satırlara ulaşmak için kullanılan bu flow scopunda, benzer şekilde dosyanızın lokasyonu (Location ve Document Library) ile seçtiğiniz excell içerisinde ekleme işlemi yapacağınız tablonun ismi Table alanına eklenir.

Son olarak her bir satıra uygulanacak olan bu işlem için bir önceki adımdan (List rows present in a table) seçilen her bir değeri belirtilen server üzerindeki sunucu üzerinde bulunan tabloya, tablonun sahip olduğu kolon isimlerine uygun olarak eklenir (TextID, Text, Language)

Oluşturulan flow Sharepoint üzerindeki klasöre yeni bir excell dosyası eklenildiğinde tetiklenecektir çünkü seçilen tetikleyici (When a file is created a folder) siz yeni bir excell dosyasını eklediğinizde tetiklenecek ve eklemek istediğiniz kayıtları veritabınında bulunan tabloya ekleyecektir.

SQL üzerindeki işlemlerinizi Power Automate ile alternatif olarak bu şekilde ekleyebilirsiniz. Power Automate ile bu ve benzer işlerinizi otomatize edebilirsiniz ancak unutmamakta fayda var: flowda gerçekleştirilen özellikler sahip olunan lisanslara göre farklılık gösterecektir ve SQL işlemini gerçekleştiren fonksiyonlar premium özelliklerine tabi olabilir.

Farklı ihtiyaçları otomatize ettiğimiz farklı bir yazıda görüşmek üzere.

--

--

Lütfi Dereli

Power Platform Developer | Digital Citizen | Data Enthusiast | TechInLove —