C#nedir?com
 
YAZAR HAKKINDA
Feryat Olcay
Feryat Olcay
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
15 Makalesi yayınlanmakta.
Yazar hakkında detaylı bilgi için tıklayın.
Yayınlanan diğer makaleleri için tıklayın.
İlgili etiketler: bilgileri biraktigimizda dosyasini durumunda farkli ilgili kullanilacak paketi paketlerinin sekmesi sekmesinde server tabloya transformation verilerin C# / VC#/.NET Feryat Olcay
 
YAZI HAKKINDA
Türü : Makale
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
Seviyesi : Orta
Kategori : C# / VC#/.NET
Yayınlanma Tarihi : 7.2.2006
Okunma Sayısı : 20210
Yorum Sayısı : 0     yorum yaz
Site İçi AramaSİTE İÇİ ARAMA
Üye Girişini AçÜye GİRİŞİ
Üye girişi için tıklayın.
Kullanıcı Adı
Şifre
 
Beni her zaman hatırla
Bir hafta boyunca kullanıcı bilgilerinizi kullanıcı çıkışı yapana kadar hatırlar. (Paylaşılan bilgisayarlarda önerilmez.)
 
Şifremi / Kullanıcı Adımı unuttum.
 
.net TV RSS Serbest KÖŞE (?)
Serbest Köşede C#nedir?com üyelerinin hazırladıkları yazılar yayınlanır. Bu yazılar editör incelemesine girmeden yayınlanır.
emre TAŞ
XML - Deniz Kılınç
emre TAŞ
yazının devamı >
emre TAŞ
Decompiling and Reverse Engineering .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Masaüstü mü ? İnternet Mi? .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
.Net Kavramları - .Net Radyo
emre TAŞ
yazının devamı >
emre TAŞ
Yeni Başlayanlar için - .Net Radyo
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer 'in Blogu
Conda install environment.yml Package 23.2.2020
Turhal Temizer 'in Blogu
Mac OS/X Removing CUDA 23.2.2020
Burak Selim Şenyurt
Sekiz Saatlik Sonsuz Döngü 23.2.2020
Burak Selim Şenyurt
Switch Case Kullanmadan Kod Yazılabilir mi? 23.2.2020
  Diğer Herşey
Sponsorlar
BT Akademi
Medya Portakal
Video Hosting Sponsoru
Csharpnedir.com bir Ineta üyesidir
Uzman Abi
Her Yönüyle C# - Sefer Algan
SQL Server 2000'de Data Transformation Services (DTS) Paketleri
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Microsoft farklı ortamlardan elde edilen ve farklı formattaki verilerin aynı anda transfer edilebilmesi için  DTS(Data Transformation Services) paketlerini kullanan bir mimariyi sunmaktadır. DTS Paketleri, SQL Server 2000 de Data Transformation Services başlığı altında yönetilebilir. Biz bugünkü makalemizde, bu başlık altında yer alan Local Packages bölümünü incelemeye çalışacağız. DTS paketlerinin sağladığı en büyük avantaj, T-SQL kullanarak başka bir programlama diline ihtiyaç duymadan o an elinizde bulunan ve farklı ortamlardan elde ettiğiniz verilerin istediğiniz biçimde veritabanına aktarılabilmesi yada bu verilerin çeşitli işlemlere tabi tutarak çıktı alınabilmesidir.

Örnek bir DTS paketi oluşturmak için şu senaryoyu göz önüne alalım. Bulunduğunuz şirket farklı işletim sistemlerinde farklı programlar kullanıyor olsun. Bu işletim sisteminlerinden elde ettiğiniz text formatındaki verileri program içerisinde kullanmak istediğimizi varsayalım. Text dosyamızın formatı da aşağıdaki gibi olsun; ki çoğu zaman aşağıda bulunan doysa yapısından çok daha karışık formatlarda olabilir. 

 

Resim1 : İşlem yapılacak text dosyası

Amacımız bu text dosyasından aşağıdaki alanları almak;

  • Dönem
  • Musteri No
  • İlk satırdaki ay tutarları ve ikinci satırdaki ay tutarlarının dts' te verilen bir değişkenle çarpılmış sonuçlarının toplamı
Evet bu senaryo gayet güzel oldu. Sınavlarda sorulan amaçsız gözüken ve tamamen işlem yapmaya yönelik sorular gibi oldu. Ama Dts paketlerinin neler yapabileceklerini ancak bu kadar işlem yaptıktan sonra tam anlamıyla ifade edebilirim. Nitekim SQL Server' da basit aktarma ve veri alma işlemleri için daha farklı yöntemler mevcut. Eğer herhangi bir programlama dili kullansaydık öncelikli hedefimiz text dosyasını okuyup verileri pars edip istenilen bilgileri elde etmek olacaktı. Ama biz şimdi sadece T-SQL kullanarak bu pars etme işlemini gerçekleştireceğiz. Öncelikle Text dosyasını bir tabloya aktarmakla işe başlıyoruz. Tabloya aktarma işlemi gerçekleştikten sonra kayıtları satır satır okuyup bize lazım olan değerleri pars ederek oluşturacağımız tabloya ekleyeceğiz. Text dosyasını aktaracağımız tablo ve istenilen bilgilerin tutulacağı tabloya ait alan yapılarını aşağıdaki gibi tasarlayalım.



Resim2 :Text dosyasının aktarılacağı ilk tablo

 

Resim3: Text dosyasının pars edip elde edilen sonuçların aktarılacağı tablo.

Pars  işlemini  bir saklı yordamda toplarsak çok daha verimli ve hızlı bir işlevsellik kazanmış oluruz. Bu nedele T-Sql kodlarımızı bu saklı yordam içerisinde yazacağız. Böylece herhangi bir değişiklik durumunda müdahale etmek de daha kolay ve hızlı olacaktır. Saklı yordamımız aşağıdaki gibi olsun. Burda pars işlemi tamamen programcıya kalmıştır. Bu işlem farklı şekilde yapabilirsiniz.

 

Resim4 : Pars işleminin gerçekleştiği saklı yordam.

DTS paketi oluşturmak için Local Packages-> New Package  adımlarını gerçekleştirelim. Sağ tarafta buluna araç kultusunda  Connection sekmesinde Dts' te kullanılacak olan bağlantı tipleri için ilgili providerlar mevcuttur. Task sekmesinde ise yapılacak olan işlemlerde kullanılacak araçlar bulunmaktadır. DTS paketlerinde ard arda yapılan görevleri birbirleri ile ilişkilendirmek için menude  Workflow sekmesinde bulun üç farklı seçenek vardır . Bunlar,



  • On Completion : İlgili görev çalışırken diğeri de çalışsın
  • On Success      : İlgili görev başarılı olma durumunda diğer görev çalışsın
  • On Failure        : İlgili görevin hata vermesi durumunda diğer görev çalışsın


Sırası ile işleme tabi tutacağınız iki görevi seçip bu seçeneklerden birini ekleyebilirsiniz. Ama işlemin yönü çok ömenlidir.  Buna dikkat etmeniz gerekmektedir.  

Resim5: Görevler arasında ilişki oluşturma

Oluşturduğumuz Dts örneğinin işleyiş sırası aşağıdaki gibi olsun. Bu örnekte sık kullanılan tasklar kullanıldı. Bunları birlikte inceleyelim..

 

Resim6 :Oluşturduğumuz dts örneği

Step1 : Text File dışarıdan okunacak olan txt uzantılı dosyayı belirtir. Text aracını paketin üzerine sürekleyip bıraktığımızda dosyanın yolu ile ilgili bilgileri veririz.

Step2 : OLE DB  Provider for SQL Server. Veri aktarılan SQL serverı ifade eder. Paketin üzerine sürükleyip bıraktığımızda ise alışık olduğumuz connection properties penceresi karşımıza çıkmaktadır. Kullanacağımız SQL Server ve veritabanı bilgilierini gireriz. Step1 ve Step2  arasındaki bağlantıyı sağlayabilmek için Task sekmesindeki Transform Data Task nesnesini buraya eklememiz gerekmektedir. Nesneyi sürükleyip bıraktığımızda Source sekmesi bilgi alacağımız dosyanın bilgileri , Destination sekmesi aktarılacak tablonun bilgileri, Transformation sekmesi ise aktarılacak kolonların bilgilerini belirlemektedir.

Step3 : Execute SQL Task, SQL cümlelerinin yazılabileceği ve bir önceki işlemin başarıyla gerçekleşmesi sonucunda çalışacak olan görevi belirtir. Biz senaryomuzda bu adımda tablolarımızı truncate ediyoruz.

 

Resim7: Execute SQL Task.

Step4 : ActiveX Script Task , Vb script dili kullanılarak standar sql cümlelerin çalışması dışında dosya okuma, yazma, tablodan veri okuma vb.  gibi işlemleri yapabilmemizi sağlar. Biz senaryomuzda Paket içerisinde parametre olarak vermiş olduğumuz değeri alarak sql cümlemizi çalıştırdık.

 

Resim8:ActiveX Script Task.

Dts paketlerinde değişken olarak kullanılacak bazı bilgilere de ihtiyacımız olacaktır. Tüm paket içerisinden erişebileceğimiz bilgilerdir bunlar. Dts paketi içerisinde sağ tıklayıp  Package Properties  seçeneğinden Global Variables tabında ilgili bilgileri ekleyebilirsiniz. Biz Dts' imizde ConStr ve Param diye iki tane değişken ekledik. Step4' teki ActiveX te bu bilgilere nasıl ulaşıldığını görebilirsiniz.

 

Resim9:Global Variables

Bugünkü makalemizde bir senaryo üzerinden hareket ederek, Dts pakelerinin SQL Server 2000 de kullanımını incelemeye çalıştık. Bir sonraki makalemizde dts paketlerinin SQL Server 2005 de kullanımını incleyeceğiz. Tekrardan görüşmek üzere herkese iyi günler dilerim.

Makale:
SQL Server 2000'de Data Transformation Services (DTS) Paketleri C#, Visual C# ve .NET Feryat Olcay
  • Yazılan Yorumlar
  • Yorum Yaz
Bu konu hakkında yayınlanan yorum bulunmamaktadır.
"Yorum Yaz" tabını kullanarak sizde yorumlarınızı yazabilirsiniz.
Yorum yazabilmek için üye girişi yapmalısınız. Üye girişi için tıklayın.
Üye değilseniz Üyel Ol linkine tıklayarak üyeliğinizi hemen başlatabilirisniz.
 
  • Bu Konuda Son 10
  • Eklenen Son 10
  • Bu Konuda Geçmiş 10
Bu Konuda Yazılmış Yazılmış 10 Makale Yükleniyor
Son Eklenen 10 Makale Yükleniyor
Bu Konuda Yazılmış Geçmiş Makaleler Yükleniyor