मैं अपने प्रोग्राम को निष्पादित करते समय एक जेडीबीसी बैच डालने (लगभग एक समय में 1000 पंक्तियां डालने) कर रहा हूं। लेकिन मैं कुछ रिकॉर्ड्स द्वारा ठीक से फेंक दिया अपवाद को संभालने में सक्षम नहीं हूं।जेडीबीसी बैच सम्मिलित हैंडलिंग
मान लीजिए, 1000 रिकॉर्ड्स में से 100 वां रिकॉर्ड अपवाद फेंक रहा है क्योंकि किसी अमान्य डेटा या कुछ मान के आकार कॉलम आकार से अधिक है। एक बार अपवाद हो जाने के बाद, शेष रिकॉर्ड डाला नहीं जा रहा है और प्रोग्राम बीच में विफल रहता है।
जो भी मैं चाहता हूं वह है कि 100 वें रिकॉर्ड अपवाद फेंक रहा है, शेष कार्यक्रम मेरे कार्यक्रम समाप्त होने से पहले सामान्य रूप से होना चाहिए।
मुझे यह समझने में सक्षम नहीं है कि इसे कैसे प्राप्त किया जाए। कृपया सुझाव दे।
संपादित करें:
यहाँ बैच डालने के लिए एक नमूना कोड मैं अपने अनुप्रयोग में उपयोग कर रहा हूँ है। मान लें कि परिणाम सेट में लगभग 1000 रिकॉर्ड हैं।
PreparedStatement ps = null;
while(rs.next()){
//Retrieve the value and set it to a Prepared statement
String name = rs.getString("Name");
int age = rs.getInt("Age");
ps.setInt(1, age);
ps.setString(2, name);
//Finally invoke addBatch
ps.addBatch();
}
//Finally call the executeBatch method
ps.executeBatch();
100 वीं रिकॉर्ड एक अपवाद फेंक रहा है, तो मैं केवल 100 वां भी 1000 रिकॉर्ड से प्रक्रिया को गति प्रदान करना चाहते हैं। ऐसा करने का कोई तरीका है कि मैं रिकॉर्ड से प्रक्रिया को पुनरारंभ कर सकता हूं जिसने अपवाद आगे को फिर से अंत तक फेंक दिया? इसे कैसे प्राप्त करें?
और आपका कोड है? – Alfabravo