2016-11-06 73 views
0

你好我是MVC的新手,在过去的几天里一直在寻找解决我的问题的方法,但没有成功。在MVC应用程序中破坏登录和帐户

我已经创建了一个简单的使用ASP.NET MVC的博客引擎,在我的本地PC上的IIS上安装后,我很快意识到我需要登录服务工作的数据库。

因此,我选择在计划用作服务器的PC上使用LocalDB。我将文件移到了PC上,并安装了我需要的一切。只要我安装了SQLExpressLocalDB并重置网站,一切正常完美。但是,我注意到网站上一些不容易编辑的部分小错别字。愚蠢的是,我从一个新的版本完全重新安装了网站,而不是像更聪明的人那样更新需要修正的视图。

现在,每当我试图登录到一个切除帐户或创建一个新的,我只是得到错误的时间

无法附加文件“C:\的Inetpub \ wwwroot的\ App_Data文件\ ASPNET,FacetBlog-20161020065352 .mdf'作为数据库'aspnet-FacetBlog-20161020065352'。

据我了解,这件事情与我的LocalDB实例,但我在网上找到的修正似乎没有任何效果。

不可否认,我很天真地提到SQL,希望修复很简单。如果我未能提供重要信息,请告诉我,我会更新问题。此外,一个解释什么是错误将不胜感激。感谢您的时间。

回答

0

重新安装您的网站时,可能是您删除了数据库目录中的数据库文件aspnet-FacetBlog-20161020065352.mdf。由于删除MDF文件不会影响已注册的SQL Express实例,因此SQL Express认为数据库仍然存在并尝试连接但失败。

首先,尝试连接使用SSMS查询像这样的DB:

EXEC sp_attach_db @dbname=N'aspnet-FacetBlog-20161020065352.mdf', @filename1=N'App_Data\aspnet-FacetBlog-20161020065352.mdf', @filename2=N'App_Data\aspnet-FacetBlog-20161020065352.ldf' 

NB:我认为你的MDF文件的位置矗立在App_Data目录,将其更改为实际的数据库目录。

如果试图通过查询附加不起作用,请尝试以下步骤:

  1. 停止IIS/IIS快递池,如果它仍在运行。
  2. 在服务器PC上打开Windows Powershell实例(如果不存在,请先安装它)。
  3. 运行以下命令:

    sqllocaldb.exe stop v11.0 
    sqllocaldb.exe delete v11.0 
    sqllocaldb.exe start v11.0 
    
  4. 重新创建你的项目数据库实例,包括在服务器资源管理器(删除然后创建)的数据连接。

  5. 在开发机器上重新运行项目,然后将所有需要的文件复制到服务器PC。数据库实例此时应该(重新)生成。
  6. 在服务器PC上重新启动IIS/IIS Express池。

此外,您可以从包管理器控制台运行Update-Database命令以确保数据库完整性。

如果这些解决方案仍然不能完全工作,只需重命名您的数据库文件并将其附加到您的项目上,验证连接字符串,然后重试上面的步骤(5)和(6)。

相关的问题:

EF5: Cannot attach the file ‘{0}' as database '{1}'

Cannot attach the file ".mdf" as database "aspnet-"

Delete .mdf file from app_data causes exception cannot attach the file as database

Cannot attach the file 'C:\inetpub\wwwroot\MvcApplication10\App_Data\aspnet-MvcApplication10-20130909002323.mdf' as database 'aspnet-MvcApplication10-20130909002323'

相关问题