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

System.Data.SqlTypes.SqlTypeException:SqlDateTime अतिप्रवाह

मैट सही रास्ते पर सबसे अधिक संभावना है। आपने अपने कॉलम के लिए एक डिफ़ॉल्ट मान परिभाषित किया है - हालांकि, यह तभी प्रभावी होगा जब आप वास्तव में डेटाबेस में अपनी तालिका में कुछ सम्मिलित करेंगे।

जब आप एक इकाई परीक्षण करते हैं, जैसा कि आप कहते हैं, आप संभवतः डेटटाइम वैरिएबल को किसी चीज़ में प्रारंभ करते हैं (या नहीं - तो यह डेटटाइम होगा। मिनवैल्यू, जो 01/01/0001 है) और फिर आप उसे SQL सर्वर पर भेजते हैं और यह मान SQL सर्वर पर DATETIME के ​​लिए मान्य सीमा से बाहर है (जैसा कि त्रुटि स्पष्ट रूप से बताती है)।

तो आपको डेटटाइम वैरिएबल को "DateTime.Today" में इनिशियलाइज़ करने के लिए अपने .NET यूनिट टेस्ट में एक लाइन जोड़ने की जरूरत है:

DateTime myDateTime = DateTime.Today

और फिर उसे SQL सर्वर में डालें।

या:आप अपना SQL INSERT कथन बदल सकते हैं ताकि यह उस कॉलम के लिए कोई मान सम्मिलित न करे - यह अभी जैसा दिखता है, यह ऐसा करता है (और इसे सम्मिलित करने का प्रयास करता है - SQL सर्वर के लिए - तालिका में अमान्य तिथि)। यदि आप अपने INSERT में उस कॉलम को निर्दिष्ट नहीं करते हैं, तो getdate() का कॉलम डिफ़ॉल्ट है कॉलम में आज की तारीख को सम्मिलित करेगा और सम्मिलित करेगा।

मार्क



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर डेटाबेस के बैकअप के लिए एक साधारण कमांड लाइन प्रोग्राम या स्क्रिप्ट क्या है?

  2. SQL सर्वर:चर के माध्यम से वर्तमान डेटाबेस बदलें

  3. अपने SQL सर्वर इंस्टेंस द्वारा समर्थित डेटाबेस कोलाज को कैसे खोजें

  4. पूरे डेटाबेस के अंदर एक स्ट्रिंग कैसे खोजें?

  5. प्रत्येक शब्द के पहले अक्षर को बड़ा करने के लिए अंतर्निहित फ़ंक्शन