turkaspx.net

 ASP.NET Yazılım Geliştiricileri

SQL Sorgusuna Tablo Adını Parametre Olarak Aktarmak

clock Nisan 13, 2008 20:41 by author UgurUmutluoglu

Web uygulamalarında en çok saldırı alabileceğimiz yerler veritabanı üzerinde çalıştırdığımız SQL sorgularımızdır. SQL Injection adı verilen teknik ile kötü niyetli kullanıcılar arka planda çalıştırdığımız SQL sorgularına ek SQL cümleleri ekleyebilmekte ve yeri geldiğinde "DROP DATABASE ..." gibi bir sorgu ile tüm veritabanını bile silebilmektedir! Gerek SQL Server ortamında hazırladığımız stored procedure'larda, gerekse uygulama tarafında kullandığımız ADO.NET nesnelerinde parametre (parameter) kullanarak bu tip tehditlerden veritabanımızı koruyabilmekteyiz. Parametreler SQL cümlelerinde sadece sütunlarda aranacak değerleri taşıyabilmekte, tablo veya sütun isimlerini ise taşıyamamaktadır. "Select * From Haberler Where HaberID=@id" gibi bir SQL cümlesinde HaberID sütununda aranacak değer parametre olarak aktarılabilir. Peki SQL cümlesine tablo adını parametre olarak aktarmak gibi bir durumda nasıl bir yolu izleyebiliriz? Yani "Select * From @TabloIsim" gibi bir SQL cümlesi yazabilsek ve parametre olarak Haberler bilgisini yolladığımızda sorgumuz Haberler tablosundaki, Duyurular bilgisini yolladığımızda da Duyurular tablosundaki tüm verileri getirse...

. [Yazının tamamını oku]

10 kişi tarafından 4.8 olarak değerlendirildi

  • Currently 4,8/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5




ProviderFactory Sınıfı Kullanımı

clock Kasım 25, 2007 19:43 by author BurakBatur

Bir yazılım geliştirilirken geliştirilme aşamasında hangi Veri Tabanı Yönetim Sisteminin (VTYS) kullanılacağı bilinmiyorsa bu durum sorun oluşturan bir durumdur. Büyük projelerde genellikle ilk olarak kullanılacak olan Veri Tabanı Yönetim Sistemi belirlenir ve ardından da DataBase tasarımına geçilir. Peki kullanılacak olan VTYS'mine karar veme süresi uzadı ise ne olacak? Karşınızda 2 seçenek var. Ya bekleyip projeyi geçici bir süre bekletip bu kararın daha hızlı alınmasını sağlamak ya da ADO.NET'te bulunan Provider Factory'leri kullanmak. Provider Factory'ler ile birlikte ilk olarak veriye erişim katmanını sanki tablolar varmış gibi hazırlayıp daha sonra sağlayıcı seçebiliyorsunuz ve seçilen sağlayıcıya göre kodlarınız çalıştırılıyor.

. [Yazının tamamını oku]

7 kişi tarafından 3.4 olarak değerlendirildi

  • Currently 3,428572/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5




"Operation must use an updateable query" Hatası ve Çözümü

clock Kasım 7, 2007 10:52 by author UgurUmutluoglu

Bir ASP.NET uygulamasında kullandığım Access veritabanındaki işlemlerde "Operation must use an updateable query" hatası ile karşılaştım. Local makinamda herhangi bir problem oluşmazken, sunucuda yapmak istediğim INSERT, UPDATE ve DELETE işlemlerinde aldığım bu hatanın sebebi sorgu cümleleri ile ilgili değil de, dosya okuma-yazma izinleri ile ilgili olduğunu öğrendim. Bu tip bir hata ile karşılaşırsanız mdb dosyasının bulunduğu dizinde NETWORK SERVICE isimli kullanıcıya yazma hakkı vermeniz gerekiyor.

Not: Bu kullanıcı Windows Server 2003 ve Windows Vista'da NETWORK SERVICE iken, Windows XP'de ASP.NET kullanıcısı olmalıdır.

. [Yazının tamamını oku]

6 kişi tarafından 4.3 olarak değerlendirildi

  • Currently 4,333333/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5




CLR SQL Entegrasyonunda Aggregate Kullanımı

clock Ekim 28, 2007 23:06 by author EmrahUslu
CLR - SQL entegrasyonunun sunduğu tiplerden biri de Aggregate tipidir. Kullanıcı tanımlı aggregate, genişletilmiş bir  fonksiyondur. Standart fonksiyon yeteneklerinin yanında, bir sorgu işlenirken belli bir grup üzerinden değerleri birleştirmeyi sağlar ve geriye tek bir değer döndürür. MS Sql Server, önceden tanımlı bazı aggregate fonksiyonlar sunmaktadır. Bunlara örnek olarak MIN, MAX, SUM, AVG vb. gösterilebilir.
Visual Studio ile bir CLR-SQL Aggregate yazmak için sunulan template'de 4 tane hazır metot gelmektedir : Init, Accumulate, Merge, Terminate. Bu metotların rollerini incelemek için; yazılan bi aggregate çağrıldığında neler olduğunu analiz edelim. 

. [Yazının tamamını oku]

2 kişi tarafından 5.0 olarak değerlendirildi

  • Currently 5/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5




Editörler


Add to Technorati Favorites

Arama

Kategoriler


Etiketler

Arşiv

Takvim

<<  Eylül 2008  >>
PaPaSaÇaPeCuCu
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011


ASP.NET Yazılım Geliştiricileri Blogu
turkaspx.net logosunu sitende veya blogunda yayınla!

© Her hakkı saklıdır. 2008