gpt4 book ai didi

c# - 使用数据库打包 C# 应用程序

转载 作者:搜寻专家 更新时间:2023-10-30 22:16:49 25 4
gpt4 key购买 nike

我打包了一个使用数据库的 WPF C# 应用程序。

但是,当我安装打包的应用程序时,它使用的是我一开始通过 visual studio (.mdf) 创建的数据库,而不是创建另一个数据库。

打包应用程序的全部目的是让我可以在其他计算机上共享它,所以我安装了它,我需要它为该应用程序实例创建一个新数据库。

有没有办法做到这一点?我需要设置一个属性来表示数据库是本地实例吗?或者强制包在安装时创建一个新包?

如有任何帮助,我们将不胜感激。

谢谢。

最佳答案

我自己正在做这个,我建议的一件事是使用 SQL Compact Edition 使这个过程更容易,但如果现在在这个过程中为时已晚,那么坚持使用当前的数据库,但是我不知道以下方法是否适用于 MDF 文件。

您如何在客户端机器上部署应用程序?用户机器是否安装了 sql?

您需要做的第一件事是转到 MDF 的属性,并确保将复制到输出目录设置为复制(如果较新)并将构建操作设置为内容。

如果您使用安装项目来安装应用程序,那么您需要确保在项目、应用程序属性、发布、应用程序文件中,您的 mdf 在列表中并且设置为数据文件自动、必需和包括。

然后右键单击安装程序文件系统中的“应用程序文件夹”,然后添加,项目输出,文件内容

最后更改代码中的连接字符串,使其显示为

using ( SqlCeConnection sqlCon = new SqlCeConnection( @"Data Source=|DataDirectory|\App.sdf;Persist Security Info=False;" )

或者如果你没有使用精简版

using ( SqlConnection sqlCon = new SqlConnection( @"Data Source=|DataDirectory|\App.mdf;Persist Security Info=False;" )

^使用“DataDirectory”意味着您不关心用户将应用程序放在哪里,您将始终获得正确的文件

在运行数据库并将其更改为紧凑型之前,它不支持适当的 sql 数据库所支持的很多功能。

在所有这一切之后,您可能仍然会遇到权限错误,并且因为它很啰嗦我可能错过了一步所以如果您需要更多请评论?

编辑如果用户没有 sql server 或 sql Compact,最简单的解决方案是要求他们安装 SQL CE,或者有一种方法可以使用 DLL 来做同样的事情,但我无法让它工作

链接在这里 http://msdn.microsoft.com/en-us/library/aa983326.aspx

关于c# - 使用数据库打包 C# 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10752295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com