最近,我们将现有的Clickonce应用程序开发项目从Visual Studio 2005转移到VS2010。由于Visual Studio 2010的升级问题,我们不得不将其SQL CE数据库从v3.1升级到v3.5。

为了避免数据迁移的头痛,每次发布ClickOnce更新时,我们一直将用户的先前数据库复制到其新的安装文件夹中。如果有任何数据库更改,我们将其脚本脚本介绍到应用程序的ISFIRSTRUN事件处理程序中。

但是现在,由于我们已更改了数据库版本和已部署的SQL CE .DLL文件,因此这意味着我们所有现有客户端都将最终出现错误的数据库版本。

我们拥有一个相当大的用户群,如果我们要求所有现有用户完全卸载他们的数据,然后重新安装新版本,我们将面临问题。

问题:有没有办法以编程方式升级现有数据库?

谢谢

没有正确的解决方案

其他提示

这是您可能会发现有用的两篇文章。第一个是如何将SQLCE DLL在您的部署中包括在内,而不是将其作为先决条件进行部署;这使您可以完全控制您正在运行的版本。

http://robindotnet.wordpress.com/2010/02/28/how-to-deploy-the-sqlserver-compact-edition-software-locally/

第二篇文章是关于如何使您的数据免受ClickOnce更新的安全性。

http://robindotnet.wordpress.com/2009/08/19/where-do-i-i-put-my-data-data-to-weep-cep--cep--cep-safe-from-clickonce-updates/

当然,使用SQLCEENGINE升级API,甚至支持升级: http://erikej.blogspot.com/2010/08/how-to-upgrade-version-version-3x-database-file.html

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top