【问题标题】:How to Upgrade File based Sql Server Express database(mdf) during Desktop application setup installation如何在桌面应用程序安装过程中升级基于文件的 Sql Server Express 数据库(mdf)
【发布时间】:2017-05-02 10:06:36
【问题描述】:

已经完成的工作。 我已经使用 .Net Framework 4.5 和基于文件的 Sql Server Express 数据库(mdf)构建了一个 Windows 窗体应用程序,它安装并在客户端计算机上运行。

新的变更要求? 引入了新要求所以我在一些表和数据库中的一些新表中添加了新列,并在运行良好的本地机器上构建并运行它。

要求是什么? 我需要使用我在安装期间应用的数据库升级来保存每个客户端应用程序数据。

我为达到这个要求做了什么? 我尝试使用标准安装设置,当我尝试以标准方式安装时,它会删除现有数据文件并重新安装,因此我丢失了现有数据。

【问题讨论】:

    标签: .net desktop-application sql-server-express setup-deployment mdf


    【解决方案1】:

    在您的应用程序中执行此操作。引入一个名为“Version”的新表并在那里存储模式的版本。

    CREATE TABLE Version (VersionNumber int)
    

    将 SQL 升级脚本存储在您的应用程序中。每个脚本都应该属于一个版本号。

    在应用程序启动后检查版本号并运行每个必要的脚本。运行特定脚本后,将版本号插入表中。

    如果版本表根本不存在,则只需创建它并运行所有脚本。

    【讨论】:

    • 谢谢,但是现有的数据库删除问题怎么办,当我重新安装或升级应用程序时,它会删除现有文件。
    • 很简单:将数据文件存储在不同的位置。例如“Environment.SpecialFolder.CommonApplicationData”(= C:\ProgramData - 跨用户共享)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-23
    相关资源
    最近更新 更多