如何发布带有数据库 (.mdf) 的 3 层 WinForms 应用程序?

Posted

技术标签:

【中文标题】如何发布带有数据库 (.mdf) 的 3 层 WinForms 应用程序?【英文标题】:How do I publish a 3-tier WinForms application with database (.mdf)? 【发布时间】:2021-12-10 05:00:04 【问题描述】:

场景

我正在开发一个 3 层 Winforms 应用程序,该应用程序在数据库层中有一个 database.MDF 文件,并且我已链接所有层并准备发布。我有一个连接到本地数据库的连接字符串。

问题

如何发布带有数据库的 3 层架构应用程序?

我的尝试

我已尝试发布 UI 层,因为它与所有其他层相连。在看到安装文件夹后,我没有看到任何数据库文件。

我浏览了 Youtube 视频和一些博客,似乎没有任何效果。

提前致谢!

【问题讨论】:

1.找一台干净的机器。 2. 从这台机器复制该机器所需的内容,直到您的应用程序可以在那里完美运行。 3. 在安装程序(MSI 或任何其他类似技术)中自动执行您在步骤 2 中执行的所有小步骤。简而言之,与3层或1层关系不大。 你能详细解释一下吗? 【参考方案1】:

我认为当我使用 Advanced Installer 时,这变得很简单,

首先,将Local DB附加到你的项目需要这种类型的连接字符串,

string path = Path.GetFullPath(Environment.CurrentDirectory);

string databaseName = "Your Database Name.mdf";

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=" + path + @"\" + databaseName + "Trusted Connection = True");

这种类型的连接使应用程序连接到安装应用程序的数据库。

在创建安装程序时,请确保将 .mdf 文件复制并粘贴到安装程序的文件中,因为高级安装程序会省略 .mdf 文件。

附加 .mdf 文件后,请确保为安装它的用户提供完全控制权限。

测试了这个方法,效果很好!

【讨论】:

以上是关于如何发布带有数据库 (.mdf) 的 3 层 WinForms 应用程序?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 .mdf 文件公开 C# 项目

如何打开mdf文件 打开mdf文件的方法

SQL Server2008 如何附加没有日志文件ldf的数据库mdf?

如何连接到 MDF 数据库文件?

如何打开 *.mdf 文档

如何添加ASPNETDB.MDF数据库生成水晶报表