मान लीजिए कि मेरे पास एक VarBinary [MAX] कॉलम है, क्या मैं System.IO.Stream से व्युत्पन्न प्रकार का उपयोग करके उस कॉलम में डाल या अपडेट कर सकता हूं? कैसे?क्या मैं SQL सर्वर (सी #) में एक पंक्ति का उपयोग INSERT या अद्यतन कर सकता हूं?
मुझे लगता है कि मैं एक SqlDataReader
का उपयोग कर, पाठक पर GetSqlBytes() बुला, SqlBytes उदाहरण हो रही, और फिर उस पर Stream संपत्ति को संदर्भित इस तरह के एक स्तंभ से एक केवल पढ़ने के लिए धारा प्राप्त कर सकते हैं।
जो मैं चाहता हूं वह बातचीत है - मुझे अपडेट या डालने के लिए एक स्ट्रीम चाहिए।
संभव है? (ग # से ... T-SQL लेखन के बिना?)
संपादित
मैं इस तरह कोड को देखा है:
System.Data.SqlClient.SqlCommand _SqlCommand
= new System.Data.SqlClient.SqlCommand(_SQL, _SqlConnection);
// Convert image to memory stream
System.IO.MemoryStream _MemoryStream = new System.IO.MemoryStream();
_Image.Save(_MemoryStream, _ImageFormat);
// Add image as SQL parameter
System.Data.SqlClient.SqlParameter _SqlParameter
= new System.Data.SqlClient.SqlParameter("@" + _ImageFieldName, SqlDbType.Image);
_SqlParameter.Value = _MemoryStream.ToArray();
_SqlCommand.Parameters.Add(_SqlParameter);
// Executes a Transact-SQL statement against the connection
// and returns the number of rows affected.
_SqlRetVal = _SqlCommand.ExecuteNonQuery();
// Dispose command
_SqlCommand.Dispose();
_SqlCommand = null;
... लेकिन मुझे नहीं पता मान निर्दिष्ट करने के लिए एक सरणी का उपयोग करना चाहते हैं। यह छोटे डेटा आकारों के लिए काम करता है, लेकिन आकार जितना बड़ा नहीं होता है। मैं एक धारा में लिखना चाहता हूँ।
https://stackoverflow.com/questions/2101149/how-to-i-serialize-a-large-graph-of-net-object-into-a-sql-server-blob-without/2151491# देखें उदाहरण के लिए 21514 9 1 बीओएलबी –