इसके कई कारण हैं।
- सुरक्षा- यदि उपयोगकर्ता के पास सीधी पहुंच है, तो वे आपके डेटाबेस से कुछ भी प्राप्त कर सकते हैं। साथ ही उनके पास आपके डेटाबेस में एक पासवर्ड होगा। परिणामस्वरूप, यदि आपके द्वारा उपयोग किए जा रहे SQL सर्वर में कोई खराबी है, तो वे इसका फायदा उठा सकते हैं। साथ ही, अगर आपकी अनुमतियां गलत तरीके से सेट की गई हैं, तो यह आपके डेटाबेस को मिटा सकती है।
- Speed- यदि उपयोगकर्ता अक्सर बड़े प्रश्नों का उपयोग करते हैं, तो यह आपके सिस्टम को जल्दी और अनावश्यक रूप से बंद कर सकता है। यदि आप किसी वेब इंटरफ़ेस से गुजरते हैं, तो आप उसका गला घोंट सकते हैं।
- पहुंच-योग्यता- वेब क्वेरी लगभग हर चीज द्वारा समर्थित हैं। SQL डेटाबेस को सीधे एक्सेस करने के लिए विशेष क्लाइंट की आवश्यकता होती है।
लेकिन अगर आप अपने उपयोगकर्ताओं पर पूरी तरह से भरोसा करते हैं, आपके पास सही लाइब्रेरी/ड्राइवर हैं, तो आप सीधे पूछताछ की अनुमति दे सकते हैं, और यह थोड़ा तेज भी हो सकता है।