在windows应用程序中部署对msaccess数据库的更改



我有一个正确部署的windows桌面应用程序,我使用visualstudio的安装项目,访问数据库包含在具有永久属性的内容文件中,所以如果用户更新应用程序,数据库将保持完整,我关心的是,如果我想添加、修改或删除字段,更新访问数据库的最佳方法。我读过关于自定义操作的文章,但我不熟悉这种脚本,这是最好的方法吗?

就我个人而言,我选择了另一条道路。我有一个类似的简单XML文件

<Scripts>
   <Script>
      <Progression>1</Progression>
      <Command>DROP PROCEDURE MyObsoleteQuery</Command>
   </Script>
<Scripts>

在应用程序的每个新版本中,都会分发此文件的新副本,其中一个简单的副本会覆盖以前的文件。

在我的应用程序启动时(但我也可以使用单独的可执行文件),我将此文件加载到DataTable中,以查找脚本文件中可用的最新Progression编号。

在数据库中,我有一个表,它只保存一条记录,其中最后一个"Progression"是针对数据库的此副本执行的。

在这一点上,我检查了这两个数字,并执行所有缺少的Script,以到达XML文件中的最后一个,并用执行的最后一次Progression更新内部表。

当然,这是对整个真实过程的一个非常简化的解释,其中进行了稳健的错误检查,以确保不会错过任何一个Progression脚本

最新更新