我想创建一个具有数据库.exe
文件附件的.mdf
文件。我尝试在客户端计算机上运行.exe
文件。会产生此错误:
我的SQL连接代码
SqlConnection con = new SqlConnection(@"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\Users\zy\source\repos\Automation\Automation\Database1.mdf;Integrated Security=Truee");
解决方案资源管理器:
答案 0 :(得分:0)
问题表明请求的LocalDB实例需要SQL Server Express实例才能正常运行,并且启动可执行文件的计算机没有运行SQL Server Express实例。
如果要与应用程序启动事件一起运行SQL Server Express,请使用Project -> [ProjectName] Properties -> Publish
菜单确保先决条件中包括的SQL Server LocalDB组件,并查找Prerequisities
部分,如下所示:
LocalDB
选项取决于您使用的SQL Server版本,这会将SQL Server Express实例下载并安装到任何未安装SQL Server实例的客户端计算机上。 / p>
此外,请确保Application Files
部分中包括数据库文件(.mdf和.ldf):
最后,如果应用程序安装在不同的文件夹中,则可以使用|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实例包括在先决条件中,请确保将其单独包含在安装包中。