4

我的朋友给了我一个数据库文件:record.mdf. 我将该文件复制.mdf到我的app_data文件夹中,我可以访问它。

但是,连接字符串包含绝对路径:

AttachDbFilename="C:\Users\Dell\Documents\Visual Studio 2010\Projects\WebApplication2\WebApplication2\App_Data\record.mdf"

但我希望它使用以下方式连接:

Data Source=localhost\SQLEXPRESS;

如何将.mdf文件复制到 SQL Server 的本地文件夹,以便连接字符串不使用数据库的绝对路径?

我正在使用 Visual Studio 2010。我没有 SQL Server Management Studio。

4

2 回答 2

6

第 1 步:你需要找出你的 SQL Server 的数据目录。这将是类似的

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data

默认情况下(对于 SQL Server 2008 R2 Express) - 在您的情况下可能会略有不同,具体取决于您安装 SQL Server Express 的方式(以及您拥有的版本)。

第2步:将该文件复制record.mdf到该目录

第 3 步:将其附加到您的 SQL Server Express 实例 -sqlcmd如果您手头没有 Mgmt Studio,请使用:

c:\> sqlcmd -S .\SQLExpress 

然后在 sqlcmd 提示符下,输入:

USE [master]
GO
CREATE DATABASE record ON 
   (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\record.mdf' )
FOR ATTACH_REBUILD_LOG;
GO

这会将.mdf文件作为新的“逻辑”数据库附加record到 SQL Server Express 实例,并.ldf在此过程中重建丢失的事务日志文件 ( )。

从现在开始,您可以使用

server=.\SQLEXPRESS;Database=record;Integrated Security=SSPI;

作为连接到数据库的连接字符串

于 2012-06-09T08:43:22.600 回答
2

您可以使用 App_Data 目录从 App_Data 目录访问它,而不是将其复制到 SQL 服务器本地文件夹|DataDirectory|\record.mdf

文档: http: //msdn.microsoft.com/en-us/library/ms247257 (v=vs.80).aspx

于 2012-06-09T08:33:25.223 回答