我已经使用以下函数将数据库中表的内容写入磁盘。
private static Stream GetTableAsBinary(string table, OleDbConnection oleDbConnection)
{
var oleDbDataAdapter = new OleDbDataAdapter(string.Format("select * from {0}", table), oleDbConnection);
var dataSet = new DataSet();
oleDbDataAdapter.Fill(dataSet, table);
dataSet.RemotingFormat = SerializationFormat.Binary;
var format = new BinaryFormatter();
var memStream = new MemoryStream();
format.Serialize(memStream, dataSet);
return memStream;
}
这个函数的作用是对表进行备份。
现在我想反其道而行之:将表读回到(空)数据库中。我四处搜索并尝试了几件事,但仍然没有成功。
在您告诉我还有其他备份方法之前:有几十个客户已经使用上述方法备份了他们的数据库,所以我需要一个反向功能。别告诉我这是不可能的:)
最佳答案
BinaryFormatter 有 Deserialize功能。
关于c# - 序列化/反序列化数据集(作为备份我的数据的一种方式),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3227267/