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

ORA-01000:स्प्रिंग SimpleJDBCCall का उपयोग करते समय अधिकतम खुले कर्सर पार हो गए

काफी टेस्टिंग के बाद हमने इस समस्या को ठीक कर लिया है। यह इस बात का एक संयोजन है कि हम कैसे स्प्रिंग फ्रेमवर्क और ऑरैकल क्लाइंट और ऑरेकल डीबी का उपयोग कर रहे थे। हम नए SimpleJDBCCalls बना रहे थे जो oracle JDBC क्लाइंट के मेटाडेटा कॉल का उपयोग कर रहे थे जो कि कर्सर के रूप में लौटाए गए थे जिन्हें बंद और साफ नहीं किया जा रहा था। मैं इसे स्प्रिंग जेडीबीसी ढांचे में एक बग मानता हूं कि यह मेटाडेटा को कैसे कॉल करता है लेकिन फिर कर्सर को बंद नहीं करता है। स्प्रिंग को मेटा डेटा को कर्सर से कॉपी करना चाहिए और इसे ठीक से बंद करना चाहिए। मैंने वसंत के साथ एक जीरा मुद्दा खोलने की जहमत नहीं उठाई क्योंकि यदि आप सर्वोत्तम अभ्यास का उपयोग करते हैं तो बग प्रदर्शित नहीं होता है।

OPEN_CURSORS या किसी अन्य पैरामीटर में बदलाव इस समस्या को ठीक करने का गलत तरीका है और इसके प्रकट होने में देरी करता है।

हमने इसके चारों ओर काम किया / SimpleJDBCCall को सिंगलटन डीएओ में ले जाकर इसे ठीक किया, इसलिए प्रत्येक ऑरैकल प्रो के लिए केवल एक कर्सर खुला है जिसे हम कहते हैं। ये कर्सर ऐप के जीवनकाल के लिए खुले हैं - जिन्हें मैं एक बग मानता हूं। जब तक OPEN_CURSORS, SimpleJDBCCall ऑब्जेक्ट की संख्या से बड़ा है, तब तक कोई परेशानी नहीं होगी।



  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 में SQRT () फ़ंक्शन

  2. हाइबरनेट ओरेकल पहचानकर्ता बहुत लंबा है ORA-00972

  3. जावा में SQL*प्लस से Oracle को SYS के रूप में कैसे कनेक्ट करें

  4. ORA-00936:लापता अभिव्यक्ति oracle

  5. पूर्व द्वारा कनेक्ट के साथ अद्यतन क्वेरी के लिए SQL सिंटैक्स