C# Winforms 软件部署 (setup.exe) 后数据库连接会发生啥?

Posted

技术标签:

【中文标题】C# Winforms 软件部署 (setup.exe) 后数据库连接会发生啥?【英文标题】:What happens to database connection after software deployment (setup.exe) of C# Winforms?C# Winforms 软件部署 (setup.exe) 后数据库连接会发生什么? 【发布时间】:2021-09-24 00:55:06 【问题描述】:

我想知道在将程序编译为 setup.exe 后,程序与数据库的连接会发生什么?生成安装程序后,来自服务器资源管理器的数据是否会保存在某个地方,以便以后可以动态更改?

我对编码还是有点陌生​​。才刚开始。 所以我不确定我的问题是否对所有专家都有意义。 我希望有人能启发我。 谢谢。

【问题讨论】:

这一切都取决于您一开始是如何提供连接字符串的。我们需要更多细节。 通常,安装程序只会确保所有文件都放在正确的位置,并可能运行一些配置等。连接字符串之类的东西通常会存储在某个配置文件中,实际上并没有从安装程序的角度来看,这些文件有什么特别之处,除非您向安装程序添加一些自定义步骤。 【参考方案1】:

这完全取决于您在项目中使用的数据库形式和设置。

案例一:

您正在使用服务器-客户端数据库。服务器-客户端数据库就像 Sql-Server、mysql、Postgresql、Oracle ...... 通常他们有主机、用户名、密码和/或身份验证方法。 在这种情况下,当您在 Visual Studio 的项目中配置数据库时,您可以选择将 连接字符串 保存在配置文件资源中或在应用程序中硬编码。 p>

数据将保留在数据库服务器上。

案例2:

您正在使用其中一种文件数据库解决方案,例如 Sqlite、VistaDB、Acess DB 文件、基于 XML 的 DB 文件、Sql-Compact SQL-CE(已过时并被 SqlExpress 取代)...等。

在这种情况下,数据库文件(应该在您的项目文件中,并且您已从 Visual Studio 中选择了(如果较新则复制)选项)将包含在您的项目中,其中包含数据。在这种情况下,您必须确保在您的应用程序 *.dll 中存在正确的程序集。除非您选择的 DB 解决方案另有说明,否则您的安装程序在这里没有什么可做的。

例如,如果您使用 SqlExpress,您的安装程序应确保在您的用户安装您的应用程序时它存在,如果不存在,则安装它或指导用户(至少通过提供正确的链接)安装它的方法。

连接字符串与案例一的条件相同。

因此,您使用#sql-server 标记了您的问题,我假设您正在寻找 SqlExpress 案例。 如果是这种情况,我将向您推荐几个链接,这些链接将为您提供更多详细信息:

1- How do I connect to an MDF database file?

2-How do I connect to an .mdf (Microsoft SQL Server Database File) in a simple web project?

3-C# - Connect to MDF database

4-THE ‘CONNECTION STRING’ STRING OF CONNECTION WITH DATABASE. AN EXAMPLE OF USING IN APPLICATIONS

最后记住网络搜索永远是你的朋友:

5-c# sql server connection string attach database file (in google search)

【讨论】:

以上是关于C# Winforms 软件部署 (setup.exe) 后数据库连接会发生啥?的主要内容,如果未能解决你的问题,请参考以下文章

C# WinForms - 任何人都知道 C# GDI 库不是 SLOW GDI+

从 WinForms C# 项目创建 .exe 或 MSI

Clickonce - 部署在共享文件夹中的 winforms 应用程序

WinForms:使用 c# 添加控件

c# windows form,部署前的下一步是啥?

如何使用 SQL Express 使在 WinForms .NET 3.5 中开发的软件具有可移植性