Kayıt Ol

Giriş

Şifremi Kaybettim

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

soru ekleme

Soru sormak için giriş yapmalısınız.

Giriş

Kayıt Ol

.........

SQL Server Integration Services (SSIS) Nedir?

SQL Server Integration Services (SSIS) Nedir?

SQL Server Integration Services (SSIS)  verilerin kaynak dosyasından hedef kaynağına iletilmesi amacı için kullanılan bir ETL sürecidir.Bu veri kaynakları text (metin) dosyası olarak tutulabilen düz dosya veritabanları,ilişkisel veritabanları yada xml veri dosyaları olabilir.Aşağıdaki şekilde kaynak dosyasından okuma yapılarak veriler alınır.Ardından yazma yapılarak hedef dosyasına iletilir.

as

Microsoft’un geliştirdiği ETL aracı olan SSIS projelerinde  bir yada birden fazla SSIS paketi bulunabilir.Bu paketlerin  kullanımında iki farklı model  vardır.

Project Deployment Model=Birden fazla paket tek bir projenin içinde çalıştırılır.

Package Deployment Model=Paketler bağımsız olarak çalıştırılır.

adsiz

Visual Studio sürümümüze göre SQL Server Data Tools aracını  kuralım.Bende Visual Studio  2013 olduğu için bu bağlantıyı kullandım.İlgili aracı kurduktan sonra File->New->Project->Business intelligence->Integration Services->Integration Services Project diyelim ve yeni bir proje oluşturalım.Bu işlemlerin ardından aşağıdaki ekran açılır.

mysuperlamepic_19af05951183d5db608c7bf1010d13cb

Control Flow=Control Flowlar task ve  container’lerdan oluşur.İş akışının yönetildiği,  kullanılacak verilerin  düzenleneceği alan burasıdır.
 Data Flow= Data Flowlar verilerin alınacağı kaynağı ,hedef kaynağı  ve  üzerinde yapılacak değişiklikleri tutar.
Control Flow ve Data Flow’un  çalışma mantığı aşağıdaki gibidir.fs

Şimdi metin dosyasında bulunan verileri veritabanına ekleyecek  bir demo yapalım.

text

Text dosyamdaki verileri veritabanına aktarmak istediğim için önce control flow sekmesine gelip ,data flow taskını seçerek projeme ekliyorum.Ardından Data Flow sekmesine gelerek aşağıdaki şekilde görüldüğü gibi veri kaynağı olan Flat File Source ve hedef kaynağı olan Ole Db Destination araçlarını projeye dahil edelim.

22

Şimdi ise Flat File Source  bölümüne çift tıklayalım ve  editörümüzde bulunan new butonuna tıklayalım.

23

Yukarıda bahsini ettiğim text kaynak dosyamızı seçelim.

24

Şimdi sıra Ole Db Destination ayarlarına geldi.Tablomuzun bulunduğu veritabanını seçelim.

27

Daha sonra aşağıda da görüldüğü gibi Mappings sekmesine gelip tablomuzun alan adlarını eşleştirelim.

28

Ve son olarak projemizi çalıştıralım.

29

Şimdi ise verilerimiz eklenmiş mi bakalım.

30

Örnek)Metin dosyasında ve çalışan tablosundaki aynı  kişilerin görüntülenmesini istersek aşağıdaki şekildeki gibi bir yol alabiliriz.

1

Verilerin aktarılmasını istediğimiz için Control Flow sekmesinden Data Flow Task ekleyelim.
Ardından Data Flow sekmesinden OLE DB SOURCE  ifadesini ekleyelim ve  kaynak tablosunu seçelim.
OLE DB SOURCE  ile Sort ifadesini bağlayalım.
Şimdi sıra metin dosyasındaki verileri almaya geldi.Bunun için Flat File Source ifadesi eklenir.
Yine Sort ifadesi ile bağlanır.
Sort ifadesini kullanmazsak aşağıdaki hata mesajını alırız.
Sort ifadesi verilerin sıralanmasını sağlar.
ekran-alintisi
Şimdi joinleme işlemi için Merge Join ifadesini projeye ekleyelim.Ve listelenmesini
istediğimiz alanları seçelim.Sıra hedef kaynağını seçmeye geldi bunun için OLE DB Destination ifadesi eklenir.
Ekleme yapmak isteğimiz tabloyu seçelim. Ve  böylece işlemi sonlandıralım.
Örnek)Bu sefer oluşturduğumuz tablodaki verileri metin belgesine aktaralım.
ekran-alintisi
Çalışanlar,bilgiler adında 2 tane tablom ve 1 tanede metin belgem var.Çalışanlar tablosunda ekle adında 1 tane triggerımız var.

OLE DB SOURCE ile bilgiler tablosunu seçelim.
FLAT FİLE Destination ile verilerimizi göndereceğimiz belgeyi seçelim.
Ve çalışanlar tablosuna veri ekleyelim.

Şimdi projemizi çalıştıralım.

ekran-alintisi

Belgemizi açtığımızda verilerin eklendiğini göreceğiz.

 

 

Zeynep ŞİT

Hakkında Zeynep ŞİT

Namık Kemal Üniversitesi

Leave a reply

CAPTCHA
Refresh

*