SqlDbType.VarBinary लंबाई -1 के साथ VARBINARY (MAX) के बराबर है, कम से कम सिद्धांत में। लेकिन समस्या थोड़ी अधिक जटिल है, क्योंकि एक प्रकार भी है (एनम मान नहीं), अर्थात् SqlTypes.SqlBytes
जिसका उपयोग किया जा सकता है। और वहाँ है SqlTypes.SqlFileStream
जिसका उपयोग VARBINARY(MAX)
. के लिए भी किया जा सकता है प्रकार, जब उनके पास FILESTREAM
. है गुण।
लेकिन समस्या यह है कि इनमें से कोई भी एनम या प्रकार VARBINARY(MAX)
के साथ काम करने के साथ वास्तविक मुद्दे को कवर नहीं करता है। ADO.Net में कॉलम:मेमोरी खपत। इन सभी प्रकारों, जब 'आउट-ऑफ-द-बॉक्स' का उपयोग किया जाता है, तो स्मृति में एकल सरणी के रूप में आवंटित मूल्य की प्रतियां तैयार करेंगे, जो कि सबसे अच्छा प्रदर्शन नहीं करता है, लेकिन जैसे-जैसे सामग्री बड़ी हो जाती है, इसका उपयोग करना असंभव हो जाता है क्योंकि आवंटन विफलता . मेरे पास कुछ लेख हैं जो VARBINARY(MAX)
. को संभालने का उचित तरीका दिखाते हैं स्ट्रीमिंग सेमेन्टिक्स का उपयोग करके ADO.Net में मान जो संपूर्ण सामग्री की इन-मेमोरी प्रतियों के निर्माण से बचते हैं:
- एएसपी.नेट एमवीसी के माध्यम से SQL सर्वर से छवियों को डाउनलोड और अपलोड करें
- FILESTREAM MVC:SQL सर्वर से चित्र डाउनलोड और अपलोड करें