SSIS üzerinde PostgreSQL’e Bağlantı Kurma
Merhabalar bu yazımda SQL Server Data Tools(SSDT) kullanarak oluşturduğumuz bir SSIS projesinde PostgreSQL üzerinden nasıl veri okuruz ve bu verileri hedef sisteme nasıl aktarırız onu göreceğiz.
Öncellikle https://www.postgresql.org/ftp/odbc/versions/msi/ ilgili linkten hangi sürümü kullanıyorsanız (bende PostgreSQL 13 sürümü mevcut.) o sürümün -x86.zip ile biten ya da “psqlodbc_13_00_0000.zip” zip dosyasını indirebilirsiniz.Ancak -x64.zip ile biten zip dosyasını indirirseniz yazının ilerleyen bölümlerinde göreceğiz ODBC Data Source da oluşturmuş olduğumuz Connection String SSIS tarafındaki ODBC Source kısmında bize görünmeyecektir.
Dosyayı indirip gerekli kurulumu yaptıktan sonra arama kısmına “ODBC Data Source(32-Bit)” yazıp ilgili ikona tıklıyoruz.
Oluşturacağım veri kaynağını User DSN sekmesi altında oluşturacağız.Bu sekmedeyken “Add” butonuna tıklıyoruz.
Sonrasında bir driver seçiyoruz.PostgreSQL için iki seçenek mevcut.Biz yukarıdaki resimde seçilen kısmı işaretleyerek “Finish” butonuna tıklıyoruz.
Bu kısımda ise bağlantı bilgilerimizi giriyoruz.Data Source kısmına siz istediğiniz adlandırmayı yapabilirsiniz.İlgili bilgileri doldurduktan sonra “Test” butonuna basarak girilen bilgilerin bağlantı sağlamak için doğru olup olmadığını test etmenizi tavsiye ederim.
Şimdi gelelim SSIS tarafında PostgreSQL içerisinden veri nasıl okuruz ona bakalım.SSIS Toolbox kısmında ODBC Source aracını Data Flow Sekmesine taşıyoruz.
Görmüş olduğunuz gibi Data Flow kısmına ilk taşıdığımızda kutucuğun içinde hata ifadesi mevcut.Kutucuğa çift tıklayarak ODBC Data Sources kısmında oluşturmuş olduğumuz veri kaynağını seçelim.
Burada oluşturulmuş olan ODBC connection’ları ODBC connection manager kısmında görebilirsiniz.Biz yeni bir tane oluşturacağımız için “New” butonuna tıklıyoruz.
Tekrardan “New” butonuna tıklayarak oluşturmuş olduğumuz “PostgreSQLSource” veri kaynağını seçiyoruz.
“Test Connection” butonuna tıklayarak bağlantımızın başarı durumunu yolun başındayken kontrol edebilirsiniz.
Görmüş olduğunuz gibi bağlantı testi başarılı sonuçlandı ve “Name of the table or the view” kısmında PostgreSQL tarafındaki nesnelerimizi görmekteyiz.Ben aktarım yapacağım tabloyu seçtim.Seçtikten sonra “Preview” butonuna tıklayarak önizleme yapabiliriz.
Yukarıdaki akışa sahip paketi çalıştıralım ve PostgreSQL veritabanındaki mevcut verileri SQL Server’a ve .txt uzantılı dosyaya aktarım işlemini gerçekleştirelim.
Conditional Split adımında PostgreSQL tarafındaki kaynak tablosunda bulunan “ship_country” kolonunu kullanarak verileri belli bir kurala göre kanallara ayırıyoruz.Multicast adımı ise bizim Conditional Split’in “Others” kanalı için mevcut verileri birden fazla hedef kaynağa aktarmamızı sağlıyor.
Görmekteyiz ki aktarım işlemimiz başarılı şekilde gerçekleşmiş gelin isterseniz verileri hedef sistemde de düzgün bir şekilde görebilecek miyiz kontrol edelim.
Mevcut tablolarımız başarılı şekilde oluşmuş.Test etmek amaçlı “dbo.France” tablosuna bir göz atalım.
“dbo.France” tablosuna baktığımızda başarılı şekilde aktarım gerçekleşmiş gözüküyor.