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

System.Data.OracleClient.OracleException:ORA-01036:अवैध चर नाम/संख्या

मुझे लगता है कि आपकी समस्या आपके ऐड मेथड्स कॉल्स में एक अमान्य एनम के उपयोग से उठाई गई है

यदि आप इस कोड को चलाते हैं, तो आप देख सकते हैं कि OracleType Int32 के लिए एसक्यूएलडीबीटाइप

OracleType e = OracleType.Int32;
int i = (int)e;
Console.WriteLine(i.ToString());   // Output = 28
SqlDbType z = SqlDbType.Int;
i = (int)z;
Console.WriteLine(i.ToString());   // Output = 8

इसलिए, मैं आपके ADO.NET प्रदाता के लिए सही एनम का उपयोग करने का सुझाव देता हूं।

यह ध्यान रखना दिलचस्प है कि Add with SqlDbType . को कॉल करना दिलचस्प है OracleType . के बजाय स्वीकार किया जाता है और संकलक समय त्रुटि नहीं बढ़ाता है। ऐसा इसलिए होता है क्योंकि ऐड मेथड में एक ओवरलोड होता है जो किसी ऑब्जेक्ट को दूसरे पैरामीटर के रूप में स्वीकार करता है (पैरामीटर का निर्माण करते समय इसका उपयोग सीधे वैल्यू पास करने के लिए किया जाता है)।

एक विकल्प AddWithValue . का उपयोग करना है OracleParameterCollection . का

   command.Parameters.AddWithValue("@course_Id", course_Id);
   command.Parameters.AddWithValue("@question", question);
   command.Parameters.AddWithValue("@posterName", posterName);
   command.Parameters.AddWithValue("@blogdate", blog_date);



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. मैन्युअल रूप से संभव क्वेरी के भीतर पीएल/एसक्यूएल अपर्याप्त विशेषाधिकार

  2. Oracle स्पष्ट कर्सर उपयोग के व्यावहारिक जीवन उदाहरण

  3. एसडीके के वर्तमान संस्करण को सही ढंग से पहचानने के लिए एसक्यूएल डेवलपर के लिए सेटिंग्स कैसे बदलें

  4. दिनांक लुकअप तालिका (1990/01/01:2041/12/31)

  5. Oracle पाठ घुंघराले ब्रेसिज़ और वाइल्डकार्ड से बच रहा है