【问题标题】:Visual Studio integrated SQL database needing full path to save需要完整路径保存的 Visual Studio 集成 SQL 数据库
【发布时间】:2021-02-20 22:07:50
【问题描述】:

我有一个 Windows 窗体应用程序,它通过 Visual Studio 集成了 LocalDB SQL 数据库,其中包含一个 RecipeDB.mdf 文件,该文件与应用程序的其余部分位于文件夹中。我也在使用 LINQ to SQL。我一切正常,我准备发布应用程序并为学校上交项目。

我遇到的一个问题是,由于某种原因,如果我在 App.Config 的连接字符串中使用 AttachDbFilename=|DataDirectory|\RecipeDatabase.mdf,它不会保存到数据库中。它要求我使用 C:\Users\Tania\source\repos\Old\HealthierRecipes\HealthierRecipes\RecipeDB.mdf 的完整路径。

在我创建项目时这很好,但它不适用于发布它。我需要该程序能够安装在人们想要的任何地方,并且能够找到它的数据库。

那么如何让它保存到正确的位置呢?有没有办法为 App.config 连接字符串创建一个变量并让人们将他们的路径放在一个文本文件中?或者有什么方法可以让数据库确认|DataDirectory|路径?

任何帮助将不胜感激。

【问题讨论】:

  • 有一些方法可以在 ASP.Web 中保存额外的文件,我可以将其转换为 Winforms,但这并不能解决我的数据库不保存信息的问题。在 App.Config 中有完整路径,或者如果我找不到其他方法,如何让用户在 App.Config 中放置自己的路径。我对编程还是有些陌生,因此感谢您提供任何帮助。
  • 默认文件夹与exe c#文件所在位置相同。
  • 这能回答你的问题吗? what's the issue with AttachDbFilename
  • Charlieface - 在这种情况下,不,因为数据库应该是本地的并附加到应用程序。不过谢谢。

标签: c# sql visual-studio-2019 localdb


【解决方案1】:

我能在这里找到答案,但是,我想给出一些解释。

publish a project with local database

在我处理项目时,我仍然必须在连接字符串中写入完整路径才能工作。但就在我要发布它之前,我将它更改为|DataDirectory|,然后发布,一旦以这种方式发布,程序就会运行良好。我不知道为什么,但它确实有效,而且现在已经足够了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-05-07
    • 1970-01-01
    • 1970-01-01
    • 2011-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多