默认帐户控制器不适用于服务器ASP.NET MVC 5

时间:2015-02-02 07:41:45

标签: c# sql asp.net asp.net-mvc asp.net-mvc-5

我制作了一个ASP.MET MVC5应用程序。这在Visual Studio上完美运行。我在ASP.NET MVC 5中使用默认用户帐户。对于用户帐户,它创建了一个名为aspnet-Books-20150119023687的数据库。然后我做了一个连接字符串。它没有使用该数据库(我不知道它正在使用什么)但仍默认帐户控制器正在运行。然后我将我的代码上传到服务器。一切都运行正常,但当我打电话给mysite / Account / Register并尝试注册时,我会收到这些错误:

  

[Win32Exception(0x80004005):系统找不到该文件   指定]

     

[SqlException(0x80131904):与网络相关或特定于实例的   建立与SQL Server的连接时发生错误。该   服务器未找到或无法访问。验证该实例   名称是正确的,并且SQL Server配置为允许远程   连接。 (提供者:SQL网络接口,错误:52 - 无法使用   找到本地数据库运行时安装。验证SQL Server   Express已正确安装并且是本地数据库运行时   功能已启用。)]

如何让默认帐户控制器在服务器上运行?有人告诉我,我需要将一些数据上传到服务器,但我不知道要上传什么。感谢。

编辑: 默认连接字符串是:

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-Books-20150114567898.mdf;Initial Catalog=aspnet-Books-20150119023806;Integrated Security=True" providerName="System.Data.SqlClient" />

然后我将连接字符串更改为:(这没有用)

<add name="BooksContext" providerName="System.Data.SqlClient" connectionString="Data Source=SERVER06\SQLSERVER2005EX;Initial Catalog=booksdb; User ID=admin; Password=123456"/>

然后我改为这个,这也不起作用:

<add name="BooksContext" providerName="System.Data.SqlClient" connectionString="Data Source=SERVER06\SQLSERVER2005EX; AttachDbFilename=|DataDirectory|\aspnet-Books-20150114567898.mdf;Initial Catalog=booksdb; User ID=admin; Password=123456"/>

2 个答案:

答案 0 :(得分:1)

您说"AttachDbFilename" is used only in SQL Express时有SQL服务器完整版。也许那是你的问题。

您还需要将mdf文件附加到SQL Server完整版。 https://msdn.microsoft.com/en-us/library/ms190209.aspx

答案 1 :(得分:1)

从本地

上的web.config修改连接字符串
<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\v11.0;AttachDbFilename=|DataDirectory|\aspnet-Books-20150114567898.mdf;Initial Catalog=aspnet-Books-20150119023806;Integrated Security=True" providerName="System.Data.SqlClient" />

到本地sql server连接字符串 例如,如下所示

<add name="DefaultConnection" connectionString="Data Source=SERVER06\SQLSERVER2005EX;Initial Catalog=booksdb; User ID=admin; Password=123456" />

然后运行本地应用程序,在本地计算机上注册用户。

现在,在服务器上发布后,将此连接字符串从web.config修改为指向服务器数据库位置,它将正常工作。