OracleParameterCollection.Add
तरीका। ऐसा लगता है कि आपने गलती से गलत कॉल कर दिया है।
मेरा मानना है कि आप जो चाहते हैं वह है जोड़ें (स्ट्रिंग, OracleDbType, int, ऑब्जेक्ट, ParameterDirection)
, जिस स्थिति में आप ऑब्जेक्ट . के लिए केवल एक मान खो रहे हैं पैरामीटर। इस पैरामीटर में आपके द्वारा उपयोग किए जा रहे Oracle पैरामीटर के लिए प्रारंभिक मान होना चाहिए। हालांकि, आपके मामले में, प्रारंभिक मान कोई मायने नहीं रखता क्योंकि यह एक आउट है पैरामीटर। शून्यजोड़ें 50 . के बाद और आपकी संग्रहीत कार्यविधि कॉल सफल होनी चाहिए।
जिसे आपने कॉल किया है वह है Add( स्ट्रिंग, OracleDbType, ऑब्जेक्ट, ParameterDirection)
. आकार 50 पैरामीटर के लिए प्रारंभिक मान के रूप में व्याख्या की गई है। मुझे यकीन नहीं है कि ओरेकल ("संख्यात्मक या मान त्रुटि") की त्रुटि की व्याख्या कैसे करें - इसका मतलब है कि ओरेकल ने एक स्ट्रिंग को एक संख्या में बदलने की कोशिश की है और असफल रहा है। शायद मान 50 OracleDbType.Varchar2 . प्रकार को ओवरराइड करता है और इसलिए Oracle एक स्ट्रिंग के बजाय एक संख्या की अपेक्षा करता है?
मुझे कुछ और समस्याएं मिलीं:
- चाहिए
कमांड.पैरामीटर["SP_REQ_NUM"]command.Parameters["SP_NUM"]. हो ? - आपकी संग्रहीत कार्यविधि कोई संख्या नहीं लौटाती है; कॉलिंग
Convert.ToInt32एक स्ट्रिंग पर जैसे201405 001विफल हो जाएगा।