Skip to main content

CLR SQL ile Hazırlanan Nesneyi Visual Studio’da Debug Etmek

SQL Server 2005 ve ADO.NET 2.0 ile gelen yeniliklerden sonra çoğunuzunda bildiği gibi .NET ortamında hazırladığınız nesneleri SQL Server sunucusu üzerinde CLR (Common Language Runtime)
desteğiyle çalışmasını sağlayabiliyoruz. Oluşturulan bu nesnelerin IL
çıktıları .dll'dir, dolayısıyla ilk bakışta nesneleri kodlama
aşamasında nasıl debug işlemine tabi tutacağımız bizler için soru
işareti olabilir. Bu başlıkta .NET tabanlı bir dilde yazdığımız CLR SQL
kodlarımızın çalışmasını debug etmek, kodların takibini ve analizini
yapmak için oluşturulan projede nasıl bir yol izleyeceğimizi anlatmaya
çalışacağım.

Test.sql dosyasına eklenen SQL cümlesi"SQL Server Projects" şablonunu oluşturduğunuzda proje içerisinde Test Script adında bir klasör ve içerisinde örnek kodları içeren Test.sql
adında bir dosya bulunmaktadır. Debug işlemi için öncelikli olarak
nesneyi çalıştıracak bir SQL ifadesine ihtiyacımız olacaktır. Bu dosya
SQL ifadesinin veya ifadelerinin saklanacağı yerdir. Nesneyi
oluşturduktan sonra öncelikli olarak bu dosyaya nesneyi test etmemizi
sağlayan SQL cümlesini ekliyoruz.

Bu işlemin ardından Test.sql dosyasını projemizin varsayılan script
dosyası olarak seçmemiz gerekiyor. Solution Explorer'da dosyanın
üzerine sağ tıkladığımızda karşımıza çıkan Set as Default Debug Script seçeneğinden dosyayı varsayılan debug dosyası olarak belirliyoruz. İlgili seçenek sağ kısımda yer alan resimde görülmektedir.

Nesneyi
oluşturduktan sonra debug işlemini başlatacağımız satıra breakpoint
ekliyoruz. Bu işlemin ardından projemizi yayınlayıp IL çıktısını
üretmemiz ve çalıştırmamız gerekecektir. Bu işlem için Solution
Explorer'da projemizin üzerine sağ tıklayıp Deploy seçeneğini seçiyoruz.

Artık
projeyi debug modunda çalıştırıp kodların adım adım takibini
yapabiliriz. Bu işlem için yine Solution Explorer'dan az önce debug
dosyası olarak ayarladığımız Test.sql dosyasına sağ tıklayıp Debug Script
seçeneğine tıklıyoruz. Dosya içerisindeki sorgu çalıştırılacak ve
derleyici seçtiğimiz satıra geldiğinde Visual Studio debug moda
geçecektir.

Bu
şekilde bir CLR SQL nesnesini oluşturan kodların debug edilmesi
sağlanabilir. Özellikle karmaşık User Defined Function, Stored
Procedure ve Trigger oluşturduğumuz durumlarda nesneyi sürekli SQL
Server'a taşımak, burada çalışma sonucuna göre tekrar Visual Studio'ya
dönüp değişiklikleri yapmak uzun ve çözümü zor bir yol olabilir. İşte
bu tip durumlarda nesnenin SQL Server'a gitmeden doğrudan CLR üzerinde
çalışmasını debug edebilmek biz programcıların işini oldukça
kolaylaştıracaktır.

Bir Cevap Yazın

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