हालांकि मुझे आपके उदाहरण में कुछ भी गलत नहीं दिख रहा है, मुझे आश्चर्य है कि क्या आप पुराने BindByName से प्रभावित हो रहे हैं। समस्या। डिफ़ॉल्ट रूप से, ODP.NET पैरामीटर को उस क्रम में जोड़ता है जिसमें उन्हें संग्रह में जोड़ा जाता है, न कि उनके नाम के आधार पर जैसा आप चाहते हैं। BindByName setting सेट करने का प्रयास करें करने के लिए true आपके OracleCommand . पर आपत्ति करें और देखें कि क्या इससे समस्या ठीक हो जाती है।
मुझे यह समस्या कई बार हुई है कि मैं कमांड बनाने के लिए अपनी फ़ैक्टरी विधि का उपयोग करता हूं जो स्वचालित रूप से इस संपत्ति को true पर सेट कर देता है मेरे लिए।
क्लासिक बेकार Oracle दस्तावेज़ यहाँ