c# - 序列化/反序列化数据集(作为备份我的数据的一种方式)

标签 c# .net sql database dataset

我已经使用以下函数将数据库中表的内容写入磁盘。

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/

相关文章:

c# - ListBox 按项目高度自动调整大小

c# - 使用 .NET C# 绘制实时数据图表

c# - 在 C# 程序中,程序什么时候结束执行?

sql - 在MonetDB中,我可以通过SQL命令获取数据库名称吗?

垃圾收集导致 C# 应用程序性能下降?

c# - 像动画一样的动态磁贴

c# - 使用 MS Graph 时可以避免在 Azure 中注册我的应用程序吗?

c# - FtpWebRequest 在之前使用正确密码成功连接后忽略错误密码

sql - 从 SQL Server 表生成 INSERT 语句

mysql - 适合 where 子句的组中的最大值