यह एक लपेटा हुआ अपवाद है और वास्तव में दिलचस्प नहीं है। यह मूल कारण . है अपवाद के बारे में जो वास्तव में हमें मूल कारण के बारे में कुछ बताता है। कृपया स्टैकट्रैक में थोड़ा और देखें। संभावना बहुत बड़ी है कि फिर आपको एक SQLException: Connection refused
का सामना करना पड़ेगा या SQLException: Connection timed out
।
अगर आपके मामले में भी यह सच है, तो इसके सभी संभावित कारण हैं:
- JDBC URL में IP पता या होस्टनाम गलत है।
- JDBC URL में होस्टनाम स्थानीय DNS सर्वर द्वारा मान्यता प्राप्त नहीं है।
- जेडीबीसी यूआरएल में पोर्ट नंबर गुम या गलत है।
- डीबी सर्वर डाउन है।
- DB सर्वर TCP/IP कनेक्शन स्वीकार नहीं करता है।
- जावा और डीबी के बीच में कुछ कनेक्शन अवरुद्ध कर रहा है, उदा। फ़ायरवॉल या प्रॉक्सी।
एक या दोनों में से किसी एक को हल करने के लिए, निम्नलिखित सलाहों का पालन करें:
ping
के साथ उन्हें सत्यापित और परीक्षण करें ।- DNS को रीफ्रेश करें या इसके बजाय JDBC URL में IP पते का उपयोग करें।
my.cnf
. के आधार पर इसे सत्यापित करें MySQL डीबी का।- इसे शुरू करें।
- सत्यापित करें कि क्या mysqld को
--skip-networking
के बिना प्रारंभ किया गया है विकल्प। - फ़ायरवॉल अक्षम करें और/या पोर्ट को अनुमति/अग्रेषित करने के लिए फ़ायरवॉल/प्रॉक्सी कॉन्फ़िगर करें।
वैसे (और वास्तविक समस्या से असंबंधित), आपको JDBC ड्राइवर को प्रत्येक पर लोड करने की आवश्यकता नहीं है getConnection()
बुलाना। स्टार्टअप के दौरान सिर्फ एक बार ही काफी है।