Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用本地数据库发布项目_C# - Fatal编程技术网

C# 使用本地数据库发布项目

C# 使用本地数据库发布项目,c#,C#,我创建了一个带有本地数据库(.mdf)的Windows窗体应用程序来存储和检索数据。 我连接到的数据库是: C:\ProgramData\project\Database.mdf 当我发布我的项目并将我的数据库文件放在另一台电脑上的该文件夹中并尝试运行它时,我会遇到一个错误:无法找到本地数据库运行时安装 我的连接字符串是: conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""C:\ProgramData

我创建了一个带有本地数据库(.mdf)的Windows窗体应用程序来存储和检索数据。 我连接到的数据库是: C:\ProgramData\project\Database.mdf

当我发布我的项目并将我的数据库文件放在另一台电脑上的该文件夹中并尝试运行它时,我会遇到一个错误:无法找到本地数据库运行时安装

我的连接字符串是:

conn.ConnectionString = @"Data Source=(LocalDB)\v11.0;AttachDbFilename=""C:\ProgramData\project\Database.mdf"";Integrated Security=True";
有人能帮我解决这个问题吗?
因为在我自己的电脑上一切都运行正常

您是否将数据库作为“应用程序文件”包括在内?如果没有,请执行以下操作(至少我是这样做的):

项目->属性->发布->应用程序文件

此处设置.mdf和xx_log.ldf的值,如下所示:

现在仍在“发布”选项卡中,继续执行先决条件。在这里,您必须根据所使用的数据库检查以下内容

这将为安装应用程序的客户端下载SQL Server Express

您还必须将连接字符串更改为通用路径。我想数据库就在你的项目文件夹/bin的某个地方,我想,现在不确定了。因此,请将您的连接字符串调整为:

Data Source=(LocalDB)\v11.0;AttachDbFilename=|DataDirectory|\Database.mdf;Integrated Security=True
我建议使用资源文件或app.config

但基本上我认为你的问题在于你安装的电脑没有安装SQL Server。因此,只需按照上述先决条件中的步骤操作即可。其他步骤将使您能够将数据库部署到项目文件夹,而无需手动将其移动到特定文件夹


我希望这能有所帮助。

您到底遇到了什么异常?System.Data.SqlClient.SqlException(0x80131904):在建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。找不到服务器或无法访问服务器。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。(提供程序:SQL网络接口,错误:52-找不到本地数据库运行时安装。请验证SQL Server Express是否已正确安装,以及本地数据库运行时功能是否已启用。)-->System.ComponentModel.Win32Exception(0x80004005)是否实际使用相同的路径(
C:\ProgramData\project\Database.mdf
)?这是我的数据库文件的位置,因此当我将其放置在其他pc上时,我可以始终在其他pc上访问它。感谢将sql server包括在数据库中