Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Kann ich ein „Objekt“ in einer SQL Server-Datenbank speichern?

Sie können den VARBINARY(MAX) verwenden Feldtyp in SQL Server, wenn Sie möchten. Sie können dort jede Art von Objekt bis zu einer Größe von 2 GB speichern.

Um darauf zuzugreifen, können Sie ADO.NET verwenden - etwa so:

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

Markus