如何在不使用Management Studio的情况下将数据库mdf文件附加到SQL Server Express?

问题描述:

目前我正在使用C#Windows应用程序,并且此应用程序正在使用SQL Server Express。如何在不使用Management Studio的情况下将数据库mdf文件附加到SQL Server Express?

我在我的电脑上安装了SQL Server和Management Studio。

我在客户端的PC上安装了SQL Server Express,但我不想安装Management Studio。

如何在不安装SQL Server Management Studio的情况下将我的.mdf.ldf文件附加到SQL Server Express?

这是我的连接字符串

Data Source=.\\SQLEXPRESS;Initial Catalog=dbname;Integrated Security=False;User Id=sa;Password=password;Connect Timeout=0 
+0

使用基于服务的数据库,而不是将其作为新项目添加到项目中。 –

+0

我不明白S.Akbari,能否简要描述 – Yash

你应该在连接字符串中使用AttachDBFileName参数,并将其指向您的MDF文件。还有你可以把这个引用本地数据目录中,这样你就不需要使用硬编码路径的特殊值:

AttachDbFileName=|DataDirectory|\MyDatabase.mdf 

对于ASP.NET应用,|DataDirectory|App_Data文件夹在您的项目下。我不确定它是指Windows应用程序是什么,但我猜你可以很容易地弄清楚它。

请注意,当使用AttachDBFileName时,InitialCatalog不是必需的。 InitialCatalog通常用于指代SQL Server实例已知的数据库。 AttachDBFileName用于实例化来自给定文件的数据库。

+0

在连接字符串中添加AttachFileName之后,我应该在发布或构建时将MDF和LDF文件放在哪里? – Yash

+0

@Yash AttachDBFileName从您的exe文件中获取相对路径,因此构建您可能需要将MDF复制到输出目录(这可以作为构建的一部分完成)。您还必须配置相同的发布。 – Jimmy

+0

好的,谢谢@Jimmy它对我的作品... :-) – Yash