SSIS’de OLE DB Source Editor Kullanımı


OLE DB Source, SSIS’in Veri Akışı görevlerinde kullanılan bir kaynak bileşenidir. OLE DB protokolünü kullanarak çeşitli veri kaynaklarından veri okumayı sağlar. Bu veri kaynakları arasında SQL Server, Oracle, MySQL gibi ilişkisel veritabanları; Excel dosyaları, Access veritabanları ve daha fazlası bulunabilir. OLE DB Source, veri akışının ilk adımı olarak görev yapar ve verilerin SSIS tarafından işlenebilmesi için ilk olarak okunması gereken yerdir.

Kullanımı çok basittir ancak yeni başlayanlara faydalı olacağını düşünüyorum.

SSIS’de projeyi açıp, paket içerisine girdikten sonra, öncelikle Control Flow içerisine Data Flow Task ekliyoruz.

Data Flow Task içerisine girip OLE DB Source bileşenini sürükleyip çalışma alanına bırakıyoruz ve çift tıklayarak açıyoruz.

Açtığımızda aşağıdaki gibi ekran geliyor. Daha önce connection bağlamadıysanız burada öncelikle New diyerek SQL Server sunucumuz ve veritabanımız ile bağlantı sağlamamız gerekiyor.

Daha önce connections bağlantısı yaptıysanız Data connections alanında gözükecektir. Eğer yapılmadıysa sağ alttaki New tıklıyoruz.

Açılan sayfada Sunucu Adı: yazan yere sunucu isminizi girmeniz gerekiyor. Kimlik doğrulama alanından Windows Kimlik Doğrulaması seçiliyken kullanıcı adı şifre girmenize gerek kalmıyor. SQL Server kimlik doğrulamasını seçersiniz sql server da oluşturduğunuz kullanıcı adı ve şifreyi girmeniz gerekiyor. Sonrasında Veritabanına bağlan alanında ilgili veritabanımızı seçiyoruz ve Test Connection diyip test edebiliriz. Succeeded dediyse bağlantınız başarıyla oluşmuştur. OK diyip, sonrasında tekrardan OK ve OK dedikten sonra kayıt etmiş oluyoruz.

Data access mode: seçeneği ile verilerin nasıl okunacağını belirlememize olanak tanır. Bu seçenekleri açıklayacak olursak;

Table or view: Bu modu seçtiğinizde, OLE DB Source doğrudan bir tablo veya görünümü (view) kaynak olarak kullanacak ve tüm verileri seçecektir. Yani, kaynak veritabanında bulunan bir tablo veya görünümün adını doğrudan seçersiniz ve bu tablo veya görünümün tüm satırları veri akışına dahil edilir.

SQL command: Bu seçeneği belirlediğinizde, OLE DB Source’a özel bir SQL sorgusu yazabilirsiniz. Bu mod, veri akışı için gereken özelleştirilmiş veri setini almak üzere daha karmaşık sorgular yazmanıza imkan tanır. Örneğin, sadece belirli bir tarihten sonraki kayıtları seçmek ya da JOIN operasyonları ile birden fazla tablodan gelen verileri birleştirmek için bu modu kullanabilirsiniz.

Table name or view name variable: Eğer veri kaynağını dinamik olarak değiştirmek istiyorsanız bu modu kullanırsınız. Bu seçenek sayesinde, bir SSIS değişkeni içinde saklanan tablo veya görünüm adını kullanarak veri kaynağınızı belirlersiniz. Bu yöntem özellikle paketin çalıştığı sırada kaynağın dinamik olarak belirlenmesi gerektiğinde kullanışlıdır.

SQL command from variable: Bu seçenek, SQL komutunun bir değişkende saklanmasını ve çalışma zamanında bu değişkenden alınmasını sağlar. Yani, paketin çalıştığı sırada değişen koşullara bağlı olarak farklı SQL sorguları çalıştırılabilir. Örneğin, her gün farklı bir tarih aralığında verileri seçmek için bir sorgu değişkeni kullanılabilir.

Ben SQL command seçeneğini seçip ilgili sql sorgumu yazıyorum.

Sonraki işlemde Columns tıklayıp, kaynak tablomuzdan istemediğimiz kolonları buradan seçmeyebiliriz. Ayrıca Output Column alanında sütun başlıklarının isimlerini değiştirmek istersek onuda bu alandan yapabiliriz.

Columns sekmesinde de işlerimiz bittikten sonra, Error Output sekmesine geliyoruz. Error Output sekmesi, veri akışı sırasında hataların ve veri kesme (truncation) sorunlarının nasıl ele alınacağını belirlemenize imkan tanır. Bu sekme, her bir kolon için belirlenen hata işleme politikasını tanımlar.

Aşağıda sütunların yanlarında Error ve Truncation hatalarında ne şekilde ilerlenmesi gerektiği seçilir. En aşağıdaki “Set this value to selected cells:” alanında seçme işlemlerini topluca yapmamızı sağlar. Örneğin error sütunundaki kolonlara shift basılı tutarak seçtiğiniz sütunları tek tek yerine bu alandan topluca seçebilirsiniz. Öncelikle Error ve Truncation alanlarını açıklayalım. Sonrasında ise Fail Component, Ignore Failure ve Redirect Row hatalarını açıklayalım.

Error: Bu, veri işlenirken karşılaşılabilecek genel bir hata durumunu ifade eder. Örnek olarak, veri tipi uyumsuzlukları, veritabanında beklenen bir değerin eksik olması veya null olmayan bir kolona null bir değerin girilmeye çalışılması gibi durumlar error olarak değerlendirilebilir. Bu tür hatalar, dönüşüm hataları veya veritabanı kısıtlamalarının ihlali gibi çeşitli sebeplerle meydana gelebilir.

Truncation: Veri kesme (truncation) hatası ise, bir veri kaynağından alınan verinin, hedef alana sığmadığı durumlarda meydana gelir. Örneğin, kaynakta 100 karakterlik bir metin varsa ancak hedef alan yalnızca 50 karakter uzunluğunda tanımlanmışsa, verinin kalan kısmı kesilir ve bu bir truncation hatası olarak kaydedilir.

Fail Component: Bu seçenek belirlendiğinde, belirli bir kolonda bir hata veya veri kesme sorunu meydana geldiğinde, tüm bileşen başarısız olur ve veri akışı durdurulur. Bu, genellikle, herhangi bir hata durumunda paketin tamamen durmasını istediğiniz senaryolarda kullanılır.

Ignore Failure: Bu seçeneği belirlediğinizde, hata veya kesme sorunu meydana gelen veriler yoksayılır ve bileşen çalışmaya devam eder. Bu, hatalı verinin paketin geri kalanını etkilememesini istediğiniz durumlar için uygundur. Ancak, bu seçenek hatalı verilerin atılmasına neden olduğundan, veri kaybına yol açabilir.

Redirect Row: Bir hata veya kesme olduğunda, ilgili satır hata işleyiciye yönlendirilir. Bu yönlendirme, hatalı verileri ayrı bir hedefe kaydetmek, loglamak veya daha sonra incelenmek üzere bir dosyada saklamak için kullanılır. Bu seçenek, hataların paket işlemini durdurmadan yönetilmesini ve hata içeren verilerin daha sonra ele alınabilmesini sağlar.

Ben burada default olarak gelen Fail Component seçeneği ile devam edeceğim. Genelde hataların fark da edilmesi için bu seçenek seçilip paketin hata alması sağlanır. OK dedikten sonra artık ayarlarımız bitmiş oluyor bu bileşende.

Aşağıda görüldüğü üzere ilk fotoğraflarda hata uyarısı çıkarken şuan uyarı işareti gitti ve Kaynak’dan verileri almış oldu. Sonrasında bir Destination ekleyerek ETL sürecini başlatabilirsiniz.

SSIS ile ilgili tüm bu bileşenleri sırasıyla işlemeye devam edeceğiz. Sorularınızı yorumlara bırakabilirsiniz.


Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir