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

OracleDataAdapter.Fill () से डेटाटेबल को पॉप्युलेट करते समय निर्दिष्ट कास्ट मान्य नहीं है

मेरे अपने प्रश्न का उत्तर देना:

तो ऐसा लगता है कि Oracle संख्या प्रकार C# दशमलव प्रकार की तुलना में कई अधिक दशमलव स्थानों को धारण कर सकता है और यदि Oracle C# से अधिक वापस लौटने का प्रयास कर रहा है, तो यह InvalidCastException को फेंक देता है।

समाधान?

अपने एसक्यूएल में, किसी भी परिणाम को गोल करें जिसमें कुछ समझदार के लिए बहुत से दशमलव स्थान हो सकते हैं। तो मैंने यह किया:

SELECT acct_no, ROUND(market_value/mv_total, 8)  -- rounding this division solves the problem
FROM myTable
WHERE NVL(market_value, 0) != 0
AND NVL(mv_total, 0) != 0

और यह काम कर गया।

दूर ले जाना है:Oracle संख्या प्रकार और C# दशमलव के बीच असंगति। अमान्य कास्ट अपवादों से बचने के लिए अपने Oracle दशमलव स्थानों को प्रतिबंधित करें।

आशा है कि यह किसी और की मदद करेगा!



  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. PL/SQL Mail_Client API का उपयोग करके मेलबॉक्स से संदेश पुनर्प्राप्त करें

  3. Oracle:अनुक्रम MySequence.currval इस सत्र में अभी तक परिभाषित नहीं किया गया है

  4. मुझे मूल्य कोड केवल तभी पूछा जाना चाहिए जब टाइप करें:=ई

  5. Oracle डेटाबेस में लॉग इन कैसे करें?