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

कुख्यात java.sql.SQLException:कोई उपयुक्त ड्राइवर नहीं मिला

<ब्लॉकक्वॉट>

कुख्यात 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 डेटाबेस से कनेक्ट करें


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ActiveRecord ::StatementInvalid:PG InFailedSqlTransaction

  2. PostgreSQL में किसी दिनांक से दिनों को घटाएं

  3. स्प्रिंग बैच - पोस्टग्रेज पर मेटाडेटा टेबल बनाने और वास्तविक डेटा को mysql में लोड करने में असमर्थ

  4. PostgreSQL डेटाबेस में आर्किटेक्चर और मेमोरी की ट्यूनिंग

  5. Java का उपयोग करके Postgresql में छवियों को संग्रहीत और पुनर्प्राप्त करें