我制作了一个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"/>
答案 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修改为指向服务器数据库位置,它将正常工作。