2012-06-02 18 views
9

मेरे पास ओरेकल 11 जी डेटाबेस में एक संग्रहीत प्रक्रिया है जैसे एफ (एक आईएन, बी आईएन, सी आउट)। मैं इसे बैच मोड में जेडीबीसी से कॉल करना चाहता हूं और फिर सभी आउट वैरिएबल पढ़ना चाहता हूं।
क्या यह संभव है? मैं इस अब तकक्या संग्रहीत प्रक्रिया कॉल बैच करना और आउटपुट पैरामीटर पुनर्प्राप्त करना संभव है?

CallableStatement statement = connection.prepareCall("f(?, ?, ?)"); 
    for(Item i : items) { 
    int i = 0; 
    statement.setString(++i, item.getA()); 
    statement.setString(++i, item.getB()); 
    statement.registerOutParameter(++i, Types.NUMERIC); 
    statement.addBatch(); 
    } 
    statement.executeBatch(); 
    int[] answers = ? 

धन्यवाद

उत्तर

7

दुख की बात है, नहीं।

बैच अपडेट बनाने की क्षमता कॉलबलस्टेटमेंट ऑब्जेक्ट्स के लिए समान है क्योंकि यह प्रीपेडस्टेटमेंट ऑब्जेक्ट्स के लिए है। वास्तव में, कॉल करने योग्य स्टेमेंट ऑब्जेक्ट उसी कार्यक्षमता तक सीमित है जो एक प्रीपेडस्टेटमेंट ऑब्जेक्ट है। अधिक सटीक रूप से, बैच अद्यतन सुविधा का उपयोग करते समय, एक कॉलबलस्टेटमेंट ऑब्जेक्ट केवल प्रक्रियाओं को संग्रहीत कर सकता है जो इनपुट पैरामीटर या कोई पैरामीटर नहीं लेते हैं।

संदर्भ: http://docs.oracle.com/javase/1.4.2/docs/guide/jdbc/getstart/callablestatement.html#1000220

संबंधित मुद्दे

 संबंधित मुद्दे