【问题标题】:Publishing a Windows Form with Local Database使用本地数据库发布 Windows 窗体
【发布时间】:2017-01-18 22:00:03
【问题描述】:

我们有一个带有本地 .mdf 数据库的 Windows 窗体应用程序。它具有所有必需的功能,但如果不连接到关联的数据库,它将无法工作。这可能是一个非常简单的解决方案,但我们无法弄清楚需要在目标 PC 上安装什么才能使其工作。作为参考,我们的连接字符串如下

    const string connectionString = "Data Source = (LocalDB)\MSSQLLocalDB; AttachDbFilename = |DataDirectory|ourDataBaseName.mdf; Integrated Security = True";

问题是,这个和已发布的程序版本在我们的计算机上运行良好,但使用我们的测试计算机,我们终生无法让这个东西正常工作。那么我的问题如下

  1. 我们需要更改连接字符串吗?
  2. 需要在目标 PC 上安装什么才能使其连接到数据库?我们已经尝试了许多 Visual Studio 中提供的先决条件,但似乎都不起作用。

作为参考,数据库和程序是在 Visual Studio 2015 中制作的,不与任何其他应用程序集成,旨在在单台电脑上使用。除了安装之外,它不需要连接到互联网即可运行。

任何帮助或对有用资源的指导将不胜感激。

谢谢

【问题讨论】:

  • 请说明您尝试过什么。该连接字符串需要安装 SqlLocalDb,并且只需在应用程序的同一文件夹中复制 MDF 文件。
  • 还要确保安装与您的开发机器相同版本的 LocalDB(在 VS2015 中,这应该是 SqlServer Express 2014 或更高版本)如果您已安装 Sql Server Express 2012,则连接字符串为 (LocalDB)\v11.0
  • 我们试过了,还是不行。我们已经尝试安装以前版本的 Sql Server Express 和 LocalDB。我们几乎可以肯定这是一个非常小的、容易修复的事情,我们现在只是用头撞墙。不过感谢您的帮助:)
  • 我不认为这会有所作为,但您的连接字符串似乎在文件名前缺少反斜杠。 |数据目录|\ourDataBaseName.mdf;
  • 那是我粘贴过来的错误,但是很好

标签: c# sql database winforms visual-studio-2015


【解决方案1】:

我遇到了完全相同的问题,我有一个带有本地数据库的应用程序,它是在 sql server 2017 中创建的,当我发布它时,它只能在我的 PC 上运行,其他任何人都没有。经过很长时间解决这个问题后,我发现我需要在目标设备上同时安装 SQL Server Express 2017 和 localdb 版本。 请记住,即使在安装并重新启动机器之后,MSSQL 服务也有无法运行的趋势,并且您将面临同样的错误,您必须手动启动它。

【讨论】:

  • 所以仅在先决条件中安装本地数据库还不够吗?我们还需要在客户端机器上安装 ssms 吗? (这是我对你的回答的理解)
猜你喜欢
  • 1970-01-01
  • 2014-10-21
  • 1970-01-01
  • 2012-02-23
  • 1970-01-01
  • 2023-03-24
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
相关资源
最近更新 更多