我有一个桌面应用程序(C#.NET 3.5),它使用SQL服务器作为它的数据库。但是,我收到了客户的请求,要求可以按原样导出数据库,并且可以在没有连接的笔记本电脑上使用它。他们了解父服务器的更新不会反映在这些脱机客户端中。
有没有办法可以将DataSet保存为二进制格式并将它们写入磁盘并将这些文件发送到脱机客户端。
答案 0 :(得分:5)
这个案例涵盖了一整套工具和技术,即Synch Framework。见Synchronizing Databases。有关与SQL Server中央数据库同步的客户端(.SDF文件)上涉及SQL Server Compact Edition文件的起始示例,请参阅Getting Started: Client and Server Synchronization。请注意,客户端不会安装除应用程序之外的任何其他内容,SQL Server CE只是您使用应用程序分发的一些进程内DLL,没有任何像客户端上的SQL Express版本那么复杂。
好消息是Synch Framework不仅允许客户端获取他们自己的数据库快照,它实际上允许在断开连接时应用的更改合并回中心站点。
答案 1 :(得分:3)
您可以使用Compact Edition(也称为SDF文件),也可以使用内置方法将数据集保存为XML。
答案 2 :(得分:2)
你不能只是进行SQL Server级备份并安装它们,例如SQL Server Express在他们的笔记本电脑上恢复数据库吗?
这样你根本不需要在你的应用程序中做任何特殊的事情 - 只需将连接字符串更改为指向本地SQL Server Express实例,然后就可以了!没有乱序的序列化数据集和东西......