我在AppHarbor(http://test-1335.apphb.com)的测试网站上测试了一些MVC3。
我的数据库在AppHarbor上运行,我可以在手动设置MySQLConnection时访问数据库。这可以通过点击我网站上的“测试”进行测试。
myConnectionString = "my connection string goes here...";
try
{
conn = new MySql.Data.MySqlClient.MySqlConnection();
conn.ConnectionString = myConnectionString;
conn.Open();
ViewBag.Response = "OK";
}
catch (MySql.Data.MySqlClient.MySqlException ex)
{
ViewBag.Response = ex.Message;
}
通过Entity Framework访问数据库时,出现HTTP500错误。点击我网站上的“驱动程序”链接即可对此进行测试。
我在AppHarbor管理页面的“错误”页面中没有收到任何错误,并且在我的开发机器上运行也很完美。
任何在AppHarbor上收到HTTP500错误的人,或者有关如何获取有关错误的详细信息的任何提示或想法?
答案 0 :(得分:0)
您的网站目前正在显示Unable to find the requested .Net Framework Data Provider. It may not be installed.
。有关如何解决问题的详细信息,请参阅this question。
答案 1 :(得分:0)
我删除了machine.config中对MySql.Data的引用,并在下面添加了代码到web.config。
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
</DbProviderFactories>