Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Android में MySQL से पूल्ड कनेक्शन स्थापित करें

यह सवाल 6 साल पुराना है और मार्क सही है कि, लगभग हर परिदृश्य में आप सोच सकते हैं, एंड्रॉइड पर जेडीबीसी स्नान में टोस्टर का उपयोग करने की कोशिश करने के समान ही समझदार है। हालांकि, कभी-कभी हम चीजें करते हैं क्योंकि हम कर सकते हैं और नहीं क्योंकि हमें जरूरी होना चाहिए, और आज मेरे पास ऐसा करने का एक उचित कारण था (एक असामान्य वातावरण में चल रहे एक विशिष्ट बहुत विशिष्ट ऐप के लिए), इस तरह मुझे यह प्रश्न मिला।

NoClassDefFoundError को संबोधित करते हुए सबसे पहले, इसका कारण catch . द्वारा नहीं पकड़ा गया है ब्लॉक इसलिए है क्योंकि यह एक Error है Exception नहीं है . दोनों Error और Exception Throwable . से इनहेरिट करें , ताकि आप इसके बजाय उसे पकड़ सकें:

catch (Throwable t)
{
    // This will catch NoClassDefFoundError
}

मेरा मानना ​​है कि यह MySqlDataSource नहीं है कि यह नहीं मिल रहा है, लेकिन यह उन वर्गों या इंटरफेस में से एक है जिस पर यह निर्भर करता है - मेरे मामले में यह javax.naming.Referenceable था . Android javax.naming प्रदान नहीं करता है पैकेज इसलिए MySQL के लिए कनेक्टर/जे जेडीबीसी ड्राइवर की पूलिंग सुविधाओं का उपयोग करने का प्रयास आपको बहुत दूर नहीं जा रहा है (आप लापता निर्भरता प्रदान करने का प्रयास कर सकते हैं लेकिन वह सड़क पागलपन की ओर ले जाती है)।

इसके बजाय आपको तृतीय-पक्ष कनेक्शन पूल कार्यान्वयन के साथ शायद अधिक भाग्य प्राप्त होगा। ऐसा करने के लिए विभिन्न जावा पुस्तकालय हैं। उनमें से कुछ Android पर काम करेंगे। एक जिसे मैंने सत्यापित किया है वह काम करता है HikariCP . इसे कॉन्फ़िगर करने के निर्देश हैं यहां और, विशेष रूप से MySQL के लिए, यहां




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रूबी mysql2 मणि ​​गलत mysql क्लाइंट लाइब्रेरी संस्करण के लिए संकलित है

  2. Multi-AZ Aurora RDS इंस्टेंस नहीं बना सकते

  3. मैं प्रथम स्तर की श्रेणी को केवल एक बार प्रदर्शित करने के लिए कैसे प्राप्त करूं?

  4. घातक त्रुटि:न आया हुआ अपवाद 'mysqli_sql_exception' संदेश के साथ 'क्वेरी/तैयार कथन में प्रयुक्त कोई अनुक्रमणिका नहीं'

  5. MySQL में DECIMAL पर कास्ट करें