Bu site emekli olmuştur. Arşiv amaçlı olarak BT AKADEMİ sponsorluğunda yayın hayatına devam etmektedir.




C#nedir?com
 
YAZAR HAKKINDA
Kasım Gülcan
Kasım Gülcan
http://www.csharpnedir.com/
İletişme geçmek için tıklayın.
1 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:  ADO.NET/SQL Kasım Gülcan
 
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 : Başlangıç
Kategori : ADO.NET/SQL
Yayınlanma Tarihi : 12.3.2004
Okunma Sayısı : 21761
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Ş
Silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
emre TAŞ
silindi
emre TAŞ
yazının devamı >
Makale Gönder Bende Yazmak İstiyorum
.net TV RSSBlogroll
Turhal Temizer
Conda install environment.yml Package 25.4.2024
Turhal Temizer
Mac OS/X Removing CUDA 25.4.2024
Burak Selim Şenyurt
Kurumsal Yazılımcının Oyun Geliştirme ile İmtihanı 25.4.2024
Burak Selim Şenyurt
Matematik ve Oyun Programlama - Missile Command - Final 25.4.2024
  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
CLR İş başında : Kod Adı Yukon
 
Kapat
Sayfayı Yazdır Sık Kullanılanlara Ekle Arkadaşıma Gönder MySpace Del.Ico.Us Digg Facebook Google Mixx Reddit StumbleUpon
Microsoft NET vizyonunu geliştirdiği yeni ürünlerle desteklemeye devam ediyor. Bu yazıda Microsoft’un veritabanı yönetim sistemi Sql Server ’ın beta aşamasında olan yeni sürümü Yukon’u genel hatlarıyla inceleyeceğiz. Başlamadan önce bir noktanın altını çizmek istiyorum. Beta aşamasında, kullanılan bir çok özellik, geliştirilen bir çok araç, dağıtım sürümünde belki çok değişmiş olarak karşımıza çıkacak, belki de tamamen kaldırılmış olacak. Bu yüzden okuyacaklarımızı kesin özellikler olarak algılamak yerine muhtemel özellikler olarak düşünmek çok daha uygun olacaktır. Şmdi adım adım Yukon’u incelemeye başlıyalım.

CLR desteği:

Yukon’un en dikkat çekici özelliği CLR ile temel bir işbirliği içinde çalışabilmesi. Bu sayede kendinizi en rahat hissettiğiniz .net dili ile veritabanı nesneleri oluşturma, düzenleme ve yönetimini sağlama imkanına kavuşuyoruz. Artık geliştirici T-Sql kullanmadan, istediği dilde (Vb.Net,C#...) veritabanı üzerinde trigger ’lar , stored procedure’ler ya da fonksiyonlar yazabilecek, veritabanları oluşturup silebilecek. Bu aynı zamanda herhangi bir veritabanı nesnesi yazarken binlerce ( abartmıyorum :) ) bileşeni sunan .Net Class Library’den faydalanabilme anlamına da geliyor.

Fikir vermesi açısından, aşağıda girilen Id ‘ye göre isim döndüren bir fonksiyon görüyoruz. Kodun ayrıntısına girmeden, kabaca SqlContext bağlantıyı sağlayan sınıfımız diyebiliriz. (Ado.NET’in yeni sürümünde Yukon’a destek vermek üzere bu tarzda, aşina olduğumuz ama yeni sınıflarla karşılacağız.)

Imports System.Data.Sqlserver

Imports System.Data.Sql

Public Class Kitaplik

   <SqlFunction(DataAccess=DataAccessKind.Read)>

    Public Shared Function YazarDondur() as String

          Dim cmdSql As Sqlcommand = Sqlcontext.GetCommand()

          cmdSql.CommandText= "Select Yazar from Kitap where KitapId = @prmKitapId"

          Dim prmKitapId As SqlParameter = cmdSql.Parameters.Add("@prmKitapId",SqlDBType.String)

          prmKitapId.Direction = ParameterDirection.Input

          prmKitapId.Value="K001"

          Return Ctype(cmdSql.ExecuteScalar(),String)

   End Function

End Class

Bundan önce kullandığımız Ado.NET kodlarına ne kadar da benziyor değil mi? Gördüğünüz gibi kodları yorumlamak .net ile haşır neşir olanlar için hiç de zor değil. Sql Server’ ı programlamak için yeni bir dil öğrenmek yerine bildiğimiz dili Sql Server’ın desteklemesi elde edinilen bilginin katlanarak artmasına olanak sağlıyor.

Şuna da dikkat çekmek gerekiyor. T-Sql rafa kaldırılmış durumda değil. Yukon’da T-Sql işlevselliğini, geliştirilmiş deyimlerle , koruyor. Try/Catch yapısının eklenmesi ya da CLR ile bütünleşmesi için eklenen deyimler bu gelişime örnek verilebilir. Aşağıda Try/Catch yapısına ait bir örnek bulunuyor;

BEGIN TRY

  BEGIN TRAN

    INSERT INTO tblMusteri (Id,MusteriAdi,Bakiye,Tarih)

    VALUES (@Id, @MusteriAdi, @Bakiye, GETDATE())

  COMMIT TRAN

END TRY 

BEGIN CATCH TRAN_ABORT

  ROLLBACK

  INSERT INTO tblHatalar VALUES (’Hata Oluştu’))



END CATCH


Peki bazı işlemleri hem T-Sql ile hem .Net programlama dillerinden biriyle yapabileceksek T-Sql ve .Net kodu arasında tercihi neye göre belirleyeceğiz? Genel olarak T-Sql’in, veriye basit erişim işlemleri için kullanılması daha uygunken .net kodlarının veri üzerinde daha karmaşık (ileri düzey matematik ya da katar işlemleri gibi) işlevleri yerine getirirken kullanılması uygun olacak diyebiliriz..

CLR ile bütünleşme beraberinde arttılmış güvenliği (code access security v.b.), bellek yönetimini (garbage collection v.b.) ve çok kanallı (multi threading) programlanabilmeyi de getiriyor. Burada sadece adını andığımız bu başlıkların hepsi başlı başına birer uzmanlık konusu. Genel olarak baktığımızda ise Yukon-CLR işbirliği işlevsellik açısından ani bir patlama gibi.

Peki bu işbirliği sayesinde, madem Yukon .net kodlarını işletebiliyor, peki o zaman kodlar nerede duracak? Yukon sunucusu üzerinde mi, yoksa istemci üzerinde mi? Bu sorunun cevabı sizin tercihinize kalmış. Kodlarınızı, eğer sunucunuzun kullanılmayı bekleyen kaynakları varsa sunucuda, istemcileriniz güçlüyse istemcilerde çalıştırmayı tercih edebilirsiniz. Bu sayede yük dengesini istediğiniz gibi düzenleyebilir, sunucu(lar) üzerindeki aşırı yüklenmeyi engelleyebilir, istemcilerin atıl durumdaki kaynaklarını değerlendirebilirsiniz.

XML ve YUKON:

Yukon, XML ‘e verdiği destekle de ön plana çıkıyor. Aslında Sql Server 2000’de XML desteğiyle tanışmıştık. Bu sayede veritabanından bilgileri XML olarak çekebiliyor, XML Web Servisleriyle uyumluluğu sağlayabiliyorduk. Yukon’la birlikte bu destek, eklenen XML veritipiyle , XSD şemalarına verilen destekle,  XML veritipi üzerinde Xquery ile geliştirilmiş XML sorgulama yöntemleriyle daha da geliştirilmiş durumda.

Yukon web servisleri tarafında da bir çok yeniliği haber veriyor. Örneğin, Yukon belirlenen bir Http portunu dinlemek üzere ayarlanabiliyor. Bu sayede IIS gibi arakatmanlara gerek kalmadan sorgulama yapbiliyor, sonuçları XML olarak verebiliyor.

Service Broker:

Service Broker, Yukon’un dağıtık sistemler için verdiği desteğin bir uzantısı. Service Broker eşzamanlı ilerlemeyen işlerin birlikteliğini sağlamak üzere Yukon’a eklenen bir mesajlaşma teknolojisi. Mesajları gruplandırma ve paralel erişim imkanlarıyla geliştirilmiş entege bir mesajlaşma sistemi. Böyle bir mesajlaşma teknolojisinin de Sql Server ile entegrsayonu geliştiricileri kullandıkları dille (T-Sql,Vb.Net,C#,…) rahatlıkla mesajlaşma teknolojisini kullanabilme yeteneği kazandırıyor.

Reporting Services:

Yukon’la birlikte raporlama üzerine de birçok yenilik getirilmiş durumda. Kullanılan Reporting Services altyapısıyla raporlar istenilen formata  (pdf,text,html,vs.) aktarılabiliyor.

Workbench:

En çok kullanacağımız aracı en sona bıraktım: Workbench, Enterprise Manager ve Query Analizer’ın birleşimi olarak düşünülebilir. Visual Studio (Visual Studio ‘nun yeni sürümü olan Whidbey) içine dahil edilmiş durumda. Tıpkı bir proje geliştiriyormuş gibi analiz ve raporlama araçlarından hatta IntelliSense kolaylığından bile yararlanabiliyorsunuz. Aşağıda Workbench’in görüntüsü bulunmakta;



Sonuç olarak diyebiliriz ki; Sql Server’ın veritabanı üzerindeki yeteneklerini ve CLR’ın yönetim kabiliyetini ve .net Framework Class Library’ın işlevselliğini birleştirince “Yukon” ortaya çıkmış. Bakalım Microsoft Sql Server’ın yeni sürümü dağıtım aşamasına geldiğinde bize ne gibi süprizler hazırlamış olacak. Böylelikle genel hatlarıyla Yukon’u incelemiş olduk. Değerlendirme ve yorumlarınızı bekliyorum. 

Kâsım GÜLCAN

[email protected]

Makale:
CLR İş başında : Kod Adı Yukon ADO.NET ve SQL Kasım Gülcan
  • 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