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

simpleJdbcCall कॉलिंग Pl/SQL प्रक्रिया -- ORA-22922 गैर-मौजूद LOB मान

क्लॉब इंस्टेंस 'ओरेकलकनेक्शन' से जुड़ा हुआ है जिसका उपयोग आप इसे बनाने के लिए करते हैं और SimpleJDBCCall डीबी कॉल के लिए एक और कनेक्शन का उपयोग करता है। DB के दृष्टिकोण से दो स्वतंत्र सत्र हैं और यही कारण है कि SimpleJDBCCall द्वारा उपयोग किए गए सत्र में क्लॉब मौजूद नहीं है।

Clob निर्माण के लिए SimpleJDBCCall द्वारा उपयोग किए जाने वाले कनेक्शन का उपयोग किया जाना चाहिए।

मैंने SQLData को लागू करके और वर्तमान कनेक्शन को निकालकर इसी तरह की समस्या को हल करने में कामयाबी हासिल की है:

Map<String, Object> values = new HashMap<>();
values.put("IN_bean_type", new MyBean());
simpleJdbcCallOperations.execute(values);

मायबीन:

class MyBean implements SQLData {
    ...
    @Override
    public void writeSQL(SQLOutput stream) throws SQLException {
        ...
        Clob clob = ((OracleSQLOutput)stream).getSTRUCT().getJavaSqlConnection().createClob(); //hack to get the current connection
        clob.setString(1, "stringValue");
        stream.writeClob(clob);
        ...
    }
    ...
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle आपको यह क्यों नहीं बताता कि कौन सी तालिका या दृश्य मौजूद नहीं है?

  2. सर्वर साइड स्विफ्ट का उपयोग करके Oracle डेटाबेस से कनेक्ट करना

  3. कैसे पता करें कि Oracle में कोई विशेष तालिका कब बनाई गई थी?

  4. प्रत्येक 30 मिनट में कार्य चलाने के लिए dbms_scheduler का उपयोग कैसे करें

  5. अद्यतन या सम्मिलित करने पर संबंधित संदर्भित पंक्ति पर टाइमस्टैम्प अपडेट करें