2009-07-27 28 views
5

Ben kullanır saklı prosedürler gördüğüm her numunesi. Inline SQL kullanan Klasik ASP'de yazılmış eski bir uygulamayı benimsedim. Bu bariz bir sorundur, bu yüzden daha güvenli bir koda dönüştürmem gerekiyor. İstemci Öyle saklı prosedürler olmadan parametreli sorgular çalıştırmak için bir yol yoktur, bu uygulamada saklı yordamlar kullanan istemiyor?Saklı yordamlar OLMADAN parametreli sorgular?

Teşekkürler

cevap

-1

istemci saklı yordamları kullanmak istemiyor bir nedeni var mı? Hem veritabanı düzeyinde hem de kaynak kodunuzda saklı yordamları kullanmak çok daha kolaydır. Sen yukarıdan ikinci yöntemi kullanmak eğer inline sorguya sorgu planı önbelleğe alma, ama sen bunları kullanmak sakınca olmadığını müşterinizi ikna edebilirsiniz eğer basit SPROCs ile daha iyi olabilir ne yaptığını bağlı olmalıdır. Eğer her şey başarısız olursa, yukarıdaki bağlantılar oldukça sağlamdır, özellikle de ikincisi.

+0

- 1: "daha kolay" subjektiftir ve saklı yordamların kullanımı SQL enjeksiyonuna karşı bir garanti değildir. – RedFilter

+0

Bir dakika için bunun öznel bir şey olduğunu düşünmüyorum. Bu, mantık ve veri katmanlarınızı ayıran, çok katmanlı bir gelişimin standart bir konsepti. Ayrıca, SQL enjeksiyonuna karşı saklı yordamların _guarantee_ olduğunu söylemedim. Parametreli sorgular ve saklı yordamlar, SQL kodlamaya izin veren tembel kodlamadan kaynaklanan birçok durumu engeller, ancak diğer şeylerin arasında savunmasızlıktan korunmak için sprocs'ta dinamik sorguları önlemez. Aşağı oy, bu geçerli ve anlayışlı bir yanıt olduğu düşünüldüğünde oldukça uygunsuz görünüyor. – tcnolan