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

ORA-01008:सभी चर बाध्य नहीं हैं। वे बंधे हुए हैं

मुझे पता है कि यह एक पुराना प्रश्न है, लेकिन इसे सही ढंग से संबोधित नहीं किया गया है, इसलिए मैं अन्य लोगों के लिए इसका उत्तर दे रहा हूं जो इस समस्या में भाग ले सकते हैं।

डिफ़ॉल्ट रूप से Oracle का ODP.net चर को स्थिति के अनुसार बांधता है, और प्रत्येक स्थिति को एक नए चर के रूप में मानता है।

प्रत्येक प्रतिलिपि को एक भिन्न चर के रूप में मानना ​​और उसके मान को कई बार सेट करना एक समाधान और दर्द है, जैसा कि फुरमैन87 ने उल्लेख किया है, और यदि आप क्वेरी को फिर से लिखने और चीजों को इधर-उधर करने की कोशिश कर रहे हैं, तो इससे बग हो सकते हैं।

सही तरीका यह है कि OracleCommand की BindByName प्रॉपर्टी को नीचे की तरह सही पर सेट किया जाए:

var cmd = new OracleCommand(cmdtxt, conn);
cmd.BindByName = true;

आप OracleCommand को इनकैप्सुलेट करने के लिए एक नया वर्ग भी बना सकते हैं, BindByName को इंस्टेंटेशन पर सही पर सेट कर सकते हैं, इसलिए आपको हर बार मान सेट करने की आवश्यकता नहीं है। इस पोस्ट में इस पर चर्चा की गई है



  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 11g

  2. ट्रिगर के अंदर अपवाद कैसे बढ़ाएं? क्या इसे करने का कोई तरीका है?

  3. अंतराल डेटा-प्रकार से सेकंड की कुल संख्या निकालना

  4. यदि मौजूद नहीं है तो Oracle सम्मिलित करें कथन

  5. TO_YMINTERVAL () Oracle में फ़ंक्शन