使用GearHost的奇怪的MVC错误

时间:2015-05-08 04:49:50

标签: asp.net-mvc-4

当我在本地计算机上运行程序时,它运行正常。但是,当我尝试通过GearHost与我的数据库进行交互时,我得到了一个错误:

  

描述:执行当前Web请求期间发生了未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中的起源位置的更多信息。

     

异常详细信息:System.ComponentModel.Win32Exception:系统找不到指定的文件。

我去过的每个地方,论坛都说这是一个连接字符串错误。

如果是这种情况,这是我的连接字符串:

<add name="GameStoreEntities" connectionString="metadata=res://*/Models.GamesModel.csdl|res://*/Models.GamesModel.ssdl|res://*/Models.GamesModel.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=(LocalDB)\v11.0;attachdbfilename=|DataDirectory|\GameStore.mdf;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />

如果有人知道连接字符串有什么问题,我将非常感谢您的反馈。

1 个答案:

答案 0 :(得分:1)

GearHost似乎不支持LocalDB。

因此,您必须在其管理面板上创建数据库,并使用创建的默认用户的凭据来编写连接字符串。您还可以为数据库创建新用户,并使用这些凭据。

无论哪种方式,您的新连接字符串都应该是这样的

<add name="GameStoreEntities"
providerName="System.Data.SqlClient"
connectionString="Data Source=DATABASEHOST;Initial Catalog=DATABASENAME;Integrated Security=False;User Id=USERNAME;Password=PASSWORD;MultipleActiveResultSets=True" />
  • 您只需将DATABASEHOST替换为数据库的主机名即可。创建数据库后,您会在页面底部看到这一点。
  • 您可以在创建数据库后单击“揭开(眼睛)”按钮获取“密码”
  • 如果您希望将本地数据库中的数据同步到您在GearHost上创建的数据库,则可以使用Visual Studio中的数据比较和模式比较工具来更新目标数据库。