Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

Posso salvare un "Oggetto" in un database di SQL Server?

Puoi usare il VARBINARY(MAX) tipo di campo in SQL Server, se lo desideri. Puoi archiviare qualsiasi tipo di oggetto al suo interno, fino a 2 GB di dimensione.

Per accedervi, puoi utilizzare ADO.NET - qualcosa del genere:

object yourMysteryObject = (whatever you like it to be);

MemoryStream memStream = new MemoryStream();
StreamWriter sw = new StreamWriter(memStream);

sw.Write(yourMysteryObject);

SqlCommand sqlCmd = new SqlCommand("INSERT INTO TableName(VarBinaryColumn) VALUES (@VarBinary)", sqlConnection);

sqlCmd.Parameters.Add("@VarBinary", SqlDbType.VarBinary, Int32.MaxValue);

sqlCmd.Parameters["@VarBinary"].Value = memStream.GetBuffer();

sqlCmd.ExecuteNonQuery();

Marco