【问题标题】:How to install a custom desktop application database to SQL Express?如何将自定义桌面应用程序数据库安装到 SQL Express?
【发布时间】:2009-06-10 21:02:31
【问题描述】:

我有一个 WPF 桌面应用程序,它使用自定义数据库进行存储。 我需要准备一个设置项目(来自 Visual Studio 2008)(完整设置,而不是 ClickOnce)。

我可以将它添加到应用程序的先决条件列表中,它会在应用程序的设置过程中安装。

我的问题是:如何在设置过程中运行脚本来创建应用程序需要的数据库?或者如何在设置过程中将数据库恢复到客户端计算机?

另一个相关问题,如果客户端机器上已经存在会发生什么?如何检测实例名称和连接数据?然后如何能够(如果需要)更改实体框架用来连接到该数据库的连接字符串?

谢谢, 埃德

【问题讨论】:

    标签: sql-server deployment sql-server-express setup-project


    【解决方案1】:

    对于本地数据库,SQL Server Express Edition 通常是一个非常糟糕的选择。它是一个服务器级引擎,喜欢使用大量资源并作为服务运行(因此即使您的应用程序没有运行,它也会耗尽这些资源)。换句话说,它属于服务器。

    我所见过的在桌面上使用 SQL Server Express 的唯一一个几乎有意义的地方是作为 Microsoft Small Business Accounting 应用程序的一部分,在这种情况下,您通常将该程序安装在主要目的是进行会计处理的机器上为您的企业服务。

    应该做的是使用桌面或进程内类引擎,如 SQL Server Compact Edition、Sqlite,甚至 Access。这也将大大简化您的部署。

    如果你坚持这样做,请知道安装程序将在系统上创建一个新的 sql server 实例。 SQL Server 会很好。但是,您需要在应用程序的连接字符串中考虑到这一点,这可能会更复杂一些。此外,要设置数据库,您有几个选项:

    • 在首次启动应用时从客户端代码创建它
    • 使用自定义安装程序操作创建它(由于 msi 权限而难以正确设置)
    • 分发预构建 *.mdf 文件并通过自定义安装程序操作或在首次启动应用时附加。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-28
      • 1970-01-01
      相关资源
      最近更新 更多