sql >> Base de Datos >  >> RDS >> Sqlserver

¿Puedo guardar un 'Objeto' en una base de datos de SQL Server?

Puedes usar el VARBINARY(MAX) tipo de campo en SQL Server, si lo desea. Puede almacenar cualquier tipo de objeto allí, hasta 2 GB de tamaño.

Para acceder a él, puede usar ADO.NET, algo como esto:

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();

Marc