Sql Server Compact Edition数据库部署策略

时间:2009-08-22 21:40:28

标签: .net sql-server windows database database-installation

我对使用客户端应用程序部署SQL Server CE数据库的最合适方法有疑问。我知道我们需要安装SQL Server CE先决条件等,所以这不是一个让它工作的问题。它已经。

现在我们拥有它的方式是我们只运送应用程序的.mdf文件(不包含数据)的副本,在安装过程中将其复制到适当的位置。这非常合适,但我想知道这是否是使用应用程序部署数据库的“正确”方法,或者数据库应该是安装期间生成的数据库(作为自定义安装操作),还是b。)在第一次运行应用程序时生成。

任何想法或建议都表示赞赏。我意识到这个问题可能没有一个可靠的答案。

2 个答案:

答案 0 :(得分:1)

这是在谈论* .mdf文件,而不是如何确保SqlServerCE dll可用。

如何部署数据库应用程序在很大程度上取决于以下问题:

每个用户是数据库吗?

  • 如果不是的话?
    • 将数据库放在应用程序目录中是一个糟糕的主意,因为它可能会在修改文件时触发阿联酋请求。
  • 如果是每个用户,那么实际上你必须为每个用户生成一个新的,所以有些代码必须为此运行,所以你可以轻松地使用以下任何方法。

如果没有,那么简单地包含一个初始文件就可以正常工作并且是最简单的选择。

数据库是否为空(即你可以'在代码中创建表结构,并且在任何地方都没有* .mdf文件来基于它。

  • 这可以让您测试更干净,但意味着您无法使用SQL Sever工具等与“初始”数据库进行交互。
  • 如果初始状态只是架构或非常小,那么在dll中嵌入“模板”将使您的部署更加灵活,并且意味着没有人可以通过删除/意外更改模板数据库而意外“破坏”模板数据库

如果有重要数据,那么这几乎肯定会排除嵌入式选项。

数据库的初始状态是否存在重要数据,您可能希望在不更改dll的情况下进行更改?

  • 也许您想为每个客户端自定义
  • 也许您希望能够在不生成新构建的情况下创建自定义部署。

如果是这样,那么您可能希望文件是独立的而不是嵌入式资源。

答案 1 :(得分:0)