visual-studio-2010 - 使用 ClickOnce 部署数据库和应用程序

我是 ClickOnce 的新手。我使用 C# 和 SQL Server Express 创建了一个 WinForms 应用程序。目前我的数据库位于 mssql 数据文件夹中。我的连接字符串位于 app.config 文件中。

<add name="default"  providerName="System.Data.SqlClient"
  connectionString="Server=localhost\SQLEXPRESS;Database=DBase;Trusted_Connection=True;" />
  • 如何包含我的数据库文件以使其与应用程序一起部署?
  • 数据库将部署到哪个文件夹,我的连接字符串(上面)是否仍然有效?
  • 最佳答案

    你有几个选择。首先,如果这是一个简单的数据库,我建议您放弃使用 SQL Express 并使用 SQL Server Compact。 Compact SQL 数据库是一个可以与您的应用程序安装捆绑在一起的文件。下面是一个链接,指导您完成 SQL Compact 数据库的创建过程。

    http://technet.microsoft.com/en-us/library/ms173009.aspx

    以下链接讨论了为 SQL Server Compact 设置必要的依赖项和先决条件。 (注意,您需要滚动到标题为 私有(private)文件的部署 的部分。)

    http://msdn.microsoft.com/en-us/library/aa983326(v=VS.100).aspx

    如果您有一个复杂的数据库,或者一个可能增长到超过为 SQL Compact 数据库设置的 3GB 限制的数据库,唯一的选择是将 SQL Server Express 设置为您的应用程序的先决条件,并且一旦安装它,就在您的应用程序中创建一个例程。应用程序检查您的数据库是否存在于 SQL Express 中,如果不存在,则启动数据库创建和更新例程。

    在我的例子中,我有一个沉重的、数据驱动的应用程序,它是在 SQL Compact 推出之前编写的,并且必须在经常与我们的服务器断开连接的环境中运行。我不得不使用 SQL Express,因此我们必须开发一种机制来在服务器可用时检查数据库更新。如果有更新,将下载并执行加密的脚本文件,按顺序对子数据库执行。数据库容器更新后,调用后续例程检查和同步数据。

    - 编辑 -

    我想快速回应一下,是的,您可以通过编程方式将 SQL Server 数据库捆绑并附加到 SQL Server 的本地实例。这有很多障碍,如果您的用户群使用多个版本的 Windows、PC 架构和多种不同的安全方案,您可能很难始终如一地将数据库附加到用户的 SQL Server。是的,这是可以做到的。但是,我建议不惜一切代价避免这种情况。

    https://stackoverflow.com/questions/6195733/

    相关文章:

    performance - IIS Web花园和性能

    SQL - 如何确定我选择的记录在哪个位置/订单/计数?

    wolfram-mathematica - 在指定 "Automatic"时检查Mathematic

    ssis - 如何使用SSIS包将带有 header 和明细数据的平面文件加载到数据库中?

    security - 如何使用 tcpdump 实时解密 WPA/WPA2-PSK?

    validation - 如何禁用 View 中显示验证错误(Cakephp)

    wolfram-mathematica - v7中带有GroebnerBasis的怪异行为

    ms-access - 如何自动更新 MS-Access 2007 应用程序

    xcode - 在XCode 4中详细构建

    emacs - GNU Emacs-23.3.1将不会加载CEDET-1.0