कुख्यात java.sql.SQLException:कोई उपयुक्त ड्राइवर नहीं मिला
इस अपवाद में मूल रूप से दो . हो सकते हैं कारण:
# 1। JDBC ड्राइवर लोड नहीं होता है
आपको यह सुनिश्चित करने की आवश्यकता है कि JDBC ड्राइवर को सर्वर के अपने /lib
में रखा गया है फ़ोल्डर।
या, जब आप वास्तव में सर्वर-प्रबंधित कनेक्शन पूल डेटा स्रोत का उपयोग नहीं कर रहे हों, लेकिन मैन्युअल रूप से DriverManager#getConnection()
के साथ खिलवाड़ कर रहे हों WAR में, तो आपको JDBC ड्राइवर को WAR के /WEB-INF/lib
में रखना होगा और प्रदर्शन करें ..
Class.forName("com.example.jdbc.Driver");
.. आपके कोड में पहले पहला DriverManager#getConnection()
कॉल करें जिससे आप सुनिश्चित करें कि आप नहीं . करते हैं किसी भी ClassNotFoundException
को निगलना/अनदेखा करना जिसे इसके द्वारा फेंका जा सकता है और कोड प्रवाह जारी रख सकता है जैसे कि कुछ भी असाधारण नहीं हुआ। यह भी देखें कि मुझे टॉमकैट के कनेक्शन पूल के लिए जेडीबीसी ड्राइवर कहां रखना है?
#2. या, JDBC URL गलत सिंटैक्स में है
आपको यह सुनिश्चित करने की ज़रूरत है कि जेडीबीसी यूआरएल जेडीबीसी ड्राइवर दस्तावेज के अनुरूप है और ध्यान रखें कि यह आमतौर पर केस संवेदनशील होता है। जब JDBC URL true
वापस नहीं आता है Driver#acceptsURL()
. के लिए किसी भी लोडेड ड्राइवर के लिए, तो आपको बिल्कुल यही अपवाद भी मिलेगा।
PostgreSQL . के मामले में यह यहाँ प्रलेखित है।
<ब्लॉकक्वॉट>JDBC के साथ, एक डेटाबेस को एक URL (यूनिफ़ॉर्म रिसोर्स लोकेटर) द्वारा दर्शाया जाता है। PostgreSQL™ के साथ, यह निम्न में से एक रूप लेता है:
jdbc:postgresql:database
jdbc:postgresql://host/database
jdbc:postgresql://host:port/database
MySQL . के मामले में यह यहाँ प्रलेखित है।
<ब्लॉकक्वॉट>
एक MySQL सर्वर से कनेक्ट करने के लिए एक JDBC URL का सामान्य प्रारूप इस प्रकार है, जिसमें वर्ग कोष्ठक में आइटम हैं ([ ]
) वैकल्पिक होना:
jdbc:mysql://[host1][:port1][,[host2][:port2]]...[/[database]] » [?propertyName1=propertyValue1[&propertyName2=propertyValue2]...]
Oracle . के मामले में यह यहाँ प्रलेखित है।
<ब्लॉकक्वॉट>2 URL सिंटैक्स हैं, पुराना सिंटैक्स जो केवल SID के साथ काम करेगा और नया Oracle सेवा नाम के साथ काम करेगा।
<ब्लॉकक्वॉट>
पुराना सिंटैक्स jdbc:oracle:thin:@[HOST][:PORT]:SID
नया सिंटैक्स jdbc:oracle:thin:@//[HOST][:PORT]/SERVICE
###यह भी देखें:
- मुझे टॉमकैट के कनेक्शन पूल के लिए JDBC ड्राइवर को कहां रखना है?
- Java.lang.ClassNotFoundexception का सामना किए बिना एक्लिप्स वेब प्रोजेक्ट में JDBC ड्राइवर कैसे स्थापित करें
- सर्वलेट आधारित एप्लिकेशन में मुझे JDBC डेटाबेस / डेटा स्रोत से कैसे जुड़ना चाहिए?
- "Class.forName()" और "Class.forName().newInstance()" में क्या अंतर है?
- जावा को MySQL डेटाबेस से कनेक्ट करें