Sqlserver
 sql >> Base de Dados >  >> RDS >> Sqlserver

Posso salvar um 'Objeto' em um banco de dados SQL Server?


Você pode usar o VARBINARY(MAX) tipo de campo no SQL Server, se desejar. Você pode armazenar qualquer tipo de objeto lá, até 2 GB de tamanho.

Para acessá-lo, você pode usar o ADO.NET - algo assim:
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