如何创建带有本地数据库附件的exe文件? (Visual Studio C#)

时间:2018-07-17 03:11:48

标签: c# sql-server database exe

我想创建一个具有数据库.exe文件附件的.mdf文件。我尝试在客户端计算机上运行.exe文件。会产生此错误:

enter image description here

我的SQL连接代码

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\zy\source\repos\Automation\Automation\Database1.mdf;Integrated Security=Truee");

解决方案资源管理器:

enter image description here

1 个答案:

答案 0 :(得分:0)

问题表明请求的LocalDB实例需要SQL Server Express实例才能正常运行,并且启动可执行文件的计算机没有运行SQL Server Express实例。

如果要与应用程序启动事件一起运行SQL Server Express,请使用Project -> [ProjectName] Properties -> Publish菜单确保先决条件中包括的SQL Server LocalDB组件,并查找Prerequisities部分,如下所示:

enter image description here

LocalDB选项取决于您使用的SQL Server版本,这会将SQL Server Express实例下载并安装到任何未安装SQL Server实例的客户端计算机上。 / p>

此外,请确保Application Files部分中包括数据库文件(.mdf和.ldf):

Application Files Lookup

最后,如果应用程序安装在不同的文件夹中,则可以使用|DataDirectory|将连接字符串调整为更通用,例如以下示例:

SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\Automation\Database1.mdf;Integrated Security=True");

注释1:考虑使用资源文件或app.config包括LocalDB连接字符串以提高效率。

注2::如果您不希望将SQL Server Express LocalDB实例包括在先决条件中,请确保将其单独包含在安装包中。