में डेटाबेस कनेक्शन का प्रबंधन कैसे करें मैं एक आर पैकेज का निर्माण कर रहा हूं, जिसका मुख्य उद्देश्य एक स्वामित्व डेटाबेस से निपटने के दर्द को दूर करना है जिसके लिए डेटा को प्राप्त करने के लिए कुछ जटिल जटिल प्रश्नों की आवश्यकता होती है ।आर पैकेज
इस प्रकार, माइक्रोसॉफ्ट एसक्यूएल सर्वर (odbcDriverConnect
द्वारा प्राप्त) से कनेक्शन इस पैकेज का एक निरंतर और महत्वपूर्ण हिस्सा है, लेकिन मैं यह नहीं समझ सकता कि इसका प्रबंधन कैसे किया जाए और मैं सलाह के लिए उम्मीद कर रहा हूं यह कैसे आर
में लागू किया जाना चाहिए मेरे वर्तमान विचार कर रहे हैं:
उपयोगकर्ता सुनिश्चित करें कि वे कोई मान्य कनेक्शन इससे पहले कि वे किसी भी समारोह कॉल करते हैं। प्रत्येक फ़ंक्शन में
connection
पैरामीटर के रूप में होता है जिसे पारित किया जाना चाहिए। यह उपयोगकर्ता पर बोझ डालता है।प्रत्येक समारोह में,
get.connection()
पर कॉल करें जो हर बार नया कनेक्शन प्राप्त करेगा। पुराने कनेक्शनों को तब स्वाभाविक रूप से टाइमआउट करने की अनुमति दी जाती है, जो एक बेवकूफ दृष्टिकोण लगता है।उपर्युक्त के रूप में, लेकिन हर बार एक ही कनेक्शन लौटाएं। यह एक व्यवहार्य प्रस्ताव नहीं प्रतीत होता है क्योंकि मैं आर
autoReconnect=TRUE
के माध्यम से कनेक्शन से बाहर नहीं रोक सकता और अन्य भाषाओं में मैंने जो अन्य चालें उपयोग की हैं, उनका कोई प्रभाव नहीं पड़ता है।
जावा में, मैं शायद एक DatabaseConnectionPool कनेक्शन की संख्या के साथ आबादी है कि पूल रूप में की जरूरत के लिए होता है और बस से कनेक्शन हड़पने, और करने के लिए उन्हें लौटने के लिए,। मुझे लगता है कि जब मैं autoReconnect=TRUE
निर्दिष्ट करता हूं तो मुझे जावा में टाइमआउट समस्या भी नहीं लगती है।
किसी भी सुझाव की बहुत सराहना की।
'पूल' महान काम करता है! –