2012-02-02 183 views
6

我试过了一切,但我无法访问/更改/修改我的数据库。我用.mdf在visual studio中创建了它。我是使用SQL数据库的新手,所以如果你能帮助我,我会很高兴。正如我所说,我在Visual Studio中创建了该数据库,但我无法与该数据库建立连接。无法连接到.mdf数据库

在web配置:

<connectionStrings> 
    <add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;" 
     providerName="System.Data.SqlClient" /> 
    </connectionStrings> 

在CS中我使用了SQL连接字符串:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;AttachDBFilename=|DataDirectory|Database.mdf;Integrated Security=True;"); 

而且我有这样的错误:

试图以附加自动命名文件C:\ Users \ mcan \ Documents \ Visual Studio 2010 \ WebSites \ WebSite1 \ App_Data \ Database.mdf的数据库失败。具有相同名称的数据库存在,或指定的文件无法打开,或位于UNC共享上。


我已经做了一些改动:

在web配置:

<connectionStrings> 
<add name="ConnectionString" connectionString="Data Source=.\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;" 
    providerName="System.Data.SqlClient" /> 

和CS:

SqlConnection conn = new SqlConnection("Data Source=.\\SQLEXPRESS;Initial Catalog=|DataDirectory|Database.mdf;Integrated Security=True;"); 

现在给出了错误:

*Server Error in '/WebSite1' Application. Cannot open database |DataDirectory|Database.mdf" requested by the login. The login failed. Login failed for user 'mcan-PC\mcan'. * 
+0

您是否阅读过该消息? – SLaks 2012-02-02 16:06:40

+0

@SLaks - 你呢?消息中提到了3种可能性。你的答案假设一个。 – 2012-02-02 16:12:11

+0

@MartinSmith:这不是UNC份额,他说他已经创建了该文件。 – SLaks 2012-02-02 16:13:02

回答

2

由于错误清楚地表明,该数据库已连接到SQL Server。
在同一台服务器上不能有两个同名的数据库。

+0

我只是尝试从一个地方访问该数据库,为什么还有另一个连接?我无法访问和修改它,那么我应该怎么做? – 2012-02-02 16:08:22

+0

数据库已存在于SQL Server中。您应该将其从SQL Server中删除或通过名称连接到它,而不是尝试重新附加它。 – SLaks 2012-02-02 16:11:39

+0

你能解释一下按名称连接它的方法吗? – 2012-02-02 16:15:33

1

问题可能是您的mdf文件没有为已验证用户设置权限。导航到您的.mdf文件,右键单击并转到属性,然后选择安全选项卡。检查经过身份验证的用户是否出现在“组或用户名”中。如果没有,那么你将不得不点击编辑然后添加并键入身份验证的用户。然后,您将点击检查名称并确定。之后,启用对已验证用户的完全控制。你也必须重复这个.ldf文件。

+0

我已选中并验证用户出现在“组或用户名”中。 – 2012-02-02 16:33:23

+0

当您选择认证用户并查看权限列表时,是否在允许列下选中完全控制? – huel 2012-02-02 16:39:20

+0

是的,有系统,mcan-PC \ mcan和mcan-PC \ Administrators,所有者是mcan-PC \ mcan,并且他们都在Allow列下检查了完全控制 – 2012-02-02 16:43:16