2016-07-14 59 views
0

我开发一个ASP MVC 5应用与实体框架和MySQL。 在本地我运行成功。但是当我搬到托管和运行它抛出异常。连接MySQL数据库与实体框架错误

System.Data.Entity.Core.ProviderIncompatibleException:同时获得由数据库提供信息时出错。这可能是由实体框架使用不正确的连接字符串造成的。检查内部异常以获取详细信息,并确保连接字符串正确。 ---> System.Data.Entity.Core.ProviderIncompatibleException:提供程序没有返回ProviderManifestToken字符串。 ---> MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的MySQL主机。在MySql.Data.MySqlClient.NativeDriver.Open()上MySql.Data.MySqlClient.Driver.Open()在MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder设置)上MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection()在MySql.Data.MySqlClient.MySqlPool.GetPooledConnection()在MySql.Data.MySqlClient.MySqlPool.TryToGetDriver()在MySql.Data.MySqlClient.MySqlPool.GetConnection()在MySql.Data.MySqlClient.MySqlConnection.Open()在MySql .Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(DbConnection连接)在System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection连接)---内部异常堆栈跟踪结束---在System.Data.Entity.Core在System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices,DbConnection连接)上的.Common.DbProviderServices.GetProviderManifestToken(DbConnection连接)---内部异常堆栈跟踪结束---在System.Da System.Data.Entity.Infrastructure.DefaultManifestTokenResolver中的ta.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices,DbConnection连接)。 (System.Collections.Concurrent.ConcurrentDictionary)中的c__DisplayClass1.b__0(Tuple`3 k) .Data.Entity.Utilities.DbConnectionExtensions.GetProviderInfo(DbConnection connection,DbProviderManifest & providerManifest)at System.Data.Entity.DbModelBuilder.Build(DbConnection providerConnection)at System.Data.Entity.Internal.LazyInternalContext.CreateModel(LazyInternalContext internalContext)at System .Data.Entity.Internal.RetryLazy`2.GetValue(TInput input)at System.Data.Entity.Internal.LazyInternalContext.InitializeContext()at System.Data.Entity.Internal.InternalContext.GetEntitySetAndBaseTypeForType(Type entityType)at System.Data .Entity.Internal.Linq.InternalSet`1.Initialize()System.Data.Entity.Internal.Linq.InternalSet`1.get_InternalContext()at System.Data.Entity.I System.Linq.Queryable.FirstOrDefault [TSource](IQueryable`1 source,Expression`1 predicate)在Mdt.Business.CommonRepository.LoginAdmin(String username,String)上的nfrastructure.DbQuery`1.System.Linq.IQueryable.get_Provider() passwod)在Mdt.BackendWeb.Controllers.LoginController.Index(LoginAdminModel型号,串RETURNURL)

但是我上传到另一个主机,它正常运行。

我不知道为什么。

请帮帮我。

回答

0

与我的托管服务提供商交谈后。他们表示,他们被外部网络(来自越南境外,我在越南的托管服务提供商)阻止了请求,但我的数据库托管在美国服务器上,因为他们的服务器一直在攻击。 :(((