2012-11-20 18 views
5

मुझे लगता है कि कई लोग SQL सर्वर या MySQL जैसे डेटाबेस में सीधे एंड्रॉइड डिवाइस को कनेक्ट करने का प्रयास कर रहे हैं और उत्तर हमेशा समान होते हैं: वेब सेवा का उपयोग करें। डेटाबेस के साथ सीधे एक एंड्रॉइड डिवाइस क्यों कनेक्ट नहीं करें? मैं अपने एंड्रॉइड एप्लिकेशन के साथ एक स्थानीय नेटवर्क का उपयोग कर रहा हूँ।एंड्रॉइड को डेटाबेस से सीधे क्यों कनेक्ट नहीं करते?

उत्तर

11

कई कारण हैं।

  1. सुरक्षा- यदि उपयोगकर्ता की प्रत्यक्ष पहुंच है, तो वे आपके डेटाबेस से कुछ भी प्राप्त कर सकते हैं। इसके अलावा उनके पास आपके डेटाबेस में एक पासवर्ड होगा। नतीजतन, यदि आपके द्वारा उपयोग किए जा रहे SQL सर्वर में कोई दोष है, तो वे इसका फायदा उठा सकते हैं। साथ ही, यदि आपकी अनुमतियां गलत सेट अप की गई हैं, तो यह आपके डेटाबेस को मिटा सकता है।
  2. गति- यदि उपयोगकर्ता अक्सर बड़े प्रश्नों का उपयोग करते हैं, तो यह आपके सिस्टम को जल्दी और अनावश्यक रूप से दबा सकता है। यदि आप एक वेब इंटरफ़ेस से गुज़रते हैं, तो आप इसे थ्रॉटल कर सकते हैं।
  3. अभिगम्यता- वेब प्रश्न लगभग सभी चीज़ों द्वारा समर्थित हैं। इसके लिए विशेष क्लाइंट को SQL डेटाबेस तक पहुंचने की आवश्यकता होती है।

लेकिन यदि आप अपने उपयोगकर्ताओं पर पूरी तरह भरोसा करते हैं, तो सही पुस्तकालय/ड्राइवर हैं, तो आप सीधे पूछताछ की अनुमति दे सकते हैं, और यह थोड़ा तेज भी हो सकता है।

+2

फोहे में मेमोरी आकार भी बढ़ाएं, क्या हम मोबाइल में डेटाबेस को सहेज चुके हैं –

+0

मेरे लिए असली सवाल यह है: उदाहरण के लिए यह एक सी # अनुप्रयोग विंडोज पर चल रहा है। पूरी तरह से कारणों से प्रत्यक्ष कनेक्शन का उपयोग करने के बजाय, वेब सेवाओं का उपयोग करना बेहतर है। लेकिन यह नहीं होना चाहिए, कुछ अंतर होना चाहिए। एक सॉफ्टवेयर डेवलपर जो प्रत्यक्ष कनेक्शन का उपयोग कर रहा है, या तो मैं इसे गलत कर रहा हूं या एक अंतर है जिसे मैंने अभी तक नहीं देखा है। – ErTR

0

कारण कनेक्शन

है आपको यह सुनिश्चित करना है कि कितने बार जब आप इस संबंध बनाए रखने के लिए, अगर यह स्थिर है होगा और नहीं कर रहे हैं यदि आप खो यह

दूसरे, वेब करने के लिए नहीं जा रहे हैं - सेवा को पुनर्प्राप्त करने के लिए अनुकूलित किया गया है और इसे स्टैंडअर्ट के साथ खूबसूरती से सेवा प्रदान करता है। आप अपने डीबी

3

को छोड़ने के लिए सूचनाओं को भी कैश कर सकते हैं यदि आपका ऐप सीधे डेटाबेस सर्वर से कनेक्ट होता है तो आपको बहुत ही असुरक्षित उपयोगकर्ता नाम/पासवर्ड करना होगा। कुछ औजारों के साथ एक हमलावर आपके एपीके को डीकंपाइल कर सकता है और इस तरह से उपयोगकर्ता नाम/पासवर्ड तक पहुंच सकता है और आपके ऐप का उपयोग किये बिना पढ़ने (+ लिखने) एक्सेस के साथ अपने डेटाबेस से कनेक्ट कर सकता है।

0

एक और आप डेटाबेस आर्किटेक्चर बदला है, तो डेटाबेस सीधे

समस्या तक पहुँचने के लिए नहीं कारण। आपके पास दो समाधान हैं।

1- सीधे पहुंच में आपको प्रत्येक क्लाइंट ऐप
2 अपडेट करने की आवश्यकता होगी- सेवा का उपयोग करके आपको केवल सेवा को अपग्रेड करने की आवश्यकता है।

संबंधित मुद्दे