代码之家  ›  专栏  ›  技术社区  ›  Zachary Yates

使用客户端应用程序安装数据库的工具或最佳实践

  •  3
  • Zachary Yates  · 技术社区  · 14 年前

    我想出了两种方法来用我的WPF应用程序安装本地数据库:

    1. 创建数据库的备份,然后通过SMO在安装程序中还原
    2. 编写数据库安装脚本并通过ADO或osql.exe

    还有其他更灵活的方法吗?有更好/更容易管理的工具吗?

    3 回复  |  直到 14 年前
        1
  •  1
  •   stombeur    14 年前

    您看过SQLServerCompact3.5SP1吗?安装只是复制数据库文件和引用项目中的程序集的问题。

    http://www.microsoft.com/sqlserver/2008/en/us/compact.aspx

        2
  •  1
  •   KeithS    14 年前

    一旦安装了数据库,就必须进行增量更新。这通常意味着为DB的每个更改创建一个脚本,并将它们包含在安装包中,其中包含一个“runner”(一个简单的批处理过程),它将遍历脚本并针对DB执行它们。如果它们依赖于顺序,请确保您的文件结构考虑到这一点(但通常最好在必须首先执行一个脚本时合并两个脚本)。还要确保更改不是“破坏性的”;例如,向表中添加列不能涉及删除和重新创建表,即使它的代码更少。更改还必须是可重复的或不可重复的,因为您可能需要两次包含相同的脚本。这可能意味着跟踪已执行脚本的名称,和/或让每个脚本在执行之前检测到尚未进行更改。

    请记住,如果使用视图、存储过程或SQL函数,则可以随意删除和重新创建它们,而不会影响数据。

        3
  •  1
  •   eglasius    14 年前

    对于初始安装,请还原数据库。始终随应用程序提供db的当前版本。

    对于更新需求,您需要一个更改脚本列表,每个新版本一个。我喜欢数据库包含版本的RoR方法。