Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Puis-je enregistrer un 'Objet' dans une base de données SQL Server ?

Vous pouvez utiliser le VARBINARY(MAX) type de champ dans SQL Server, si vous le souhaitez. Vous pouvez y stocker n'importe quel type d'objet, jusqu'à 2 Go.

Pour y accéder, vous pouvez utiliser ADO.NET - quelque chose comme ceci :

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