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

java.sql.SQLException:Io अपवाद:oracle के साथ JDBC कनेक्शन के दौरान रीड कॉल से माइनस वन मिला

सबसे पहले, कनेक्शन यूआरएल गलत है। पोस्ट 8080 आमतौर पर अपाचे टॉमकैट जैसे वेबसर्वर द्वारा उपयोग किया जाता है। Oracle स्वयं 1521 के डिफ़ॉल्ट पोर्ट का उपयोग करता है। यह भी देखें यह Oracle JDBC दस्तावेज़

इसके अलावा आप पर कॉल करना भूल गए। ResultSet#next() . यह परिणाम सेट में कर्सर को अगली पंक्ति में सेट कर देगा। परिणाम सेट पहले . कर्सर के साथ लौटाया जाता है पहली पंक्ति। कोई भी getXXX() ResultSet . पर कॉल करें यदि आप कर्सर नहीं हिलाते हैं तो विफल हो जाएगा।

यदि आप परिणाम सेट में एकाधिक पंक्तियों की अपेक्षा करते हैं, तो आपको while . का उपयोग करने की आवश्यकता है लूप:

resultSet = statement.executeQuery();
while (resultSet.next()) {
    String columnname = resultSet.getString("columnname");
    // ...
}

या यदि आप केवल एक पंक्ति की अपेक्षा करते हैं, तो आप if . के साथ भी आगे बढ़ सकते हैं कथन:

resultSet = statement.executeQuery();
if (resultSet.next()) {
    String columnname = resultSet.getString("columnname");
    // ...
}

बुनियादी . का उपयोग करने के अधिक संकेतों और उदाहरणों के लिए JDBC सही तरीका है (JSP/Servlet में भी) आपको यह लेख उपयोगी। उदाहरण के लिए जिस तरह से आपने कथन और कनेक्शन को बंद किया है, वह संसाधन लीक होने की संभावना है। जीईटी अनुरोध पर जेडीबीसी ड्राइवर को लोड करना भी अनावश्यक रूप से महंगा है। एप्लिकेशन के स्टार्टअप या सर्वलेट के इनिशियलाइज़ेशन के दौरान बस इसे एक बार करें।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORA-28001:पासवर्ड की समय सीमा समाप्त हो गई है

  2. पीएल/एसक्यूएल से शेल स्क्रिप्ट को कॉल करना, लेकिन शेल को ग्रिड उपयोगकर्ता के रूप में निष्पादित किया जाता है, ऑरैकल नहीं

  3. स्वचालित रूप से डेटा निकालना - Oracle SQL डेवलपर

  4. XML से Oracle 12c . में पथों की सूची तक

  5. मैं Oracle SQL कथन के साथ प्रदर्शन समस्याओं का निवारण कैसे करूँ?