使用实体框架错误连接 MySQL 数据库

本文关键字:连接 MySQL 数据库 错误 框架 实体 | 更新日期: 2023-09-27 17:56:58

我用实体框架和MySQL开发了一个ASP MVC 5应用程序。在当地我成功了。但是当我转向托管并运行它时会引发异常。

System.Data.Entity.Core.Provider不兼容异常:从数据库获取提供程序信息时出错。这可能是由实体框架使用不正确的连接字符串引起的。检查内部异常以了解详细信息,并确保连接字符串正确。---> System.Data.Entity.Core.Provider不兼容异常:提供程序未返回 ProviderManifestToken 字符串。---> MySql.Data.MySqlClient.MySqlException:无法连接到任何指定的 MySQL 主机。at MySql.Data.MySqlClient.NativeDriver.Open() at MySql.Data.MySqlClient.Driver.Open() at MySql.Data.MySqlClient.Driver.Create(MySqlConnectionStringBuilder settings) at MySql.Data.MySqlClient.MySqlPool.CreateNewPooledConnection() at MySql.Data.MySqlClient.MySqlPool.GetPooledConnection() at MySql.Data.MySqlClient.MySqlPool.TryToGetDriver() at MySql.Data.MySqlClient.MySqlPool.GetConnection() at MySql.Data.MySqlClient.MySqlConnection.Open() atMySql.Data.MySqlClient.MySqlProviderServices.GetDbProviderManifestToken(DbConnection connection) at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) --- 内部异常堆栈跟踪结束 --- at System.Data.Entity.Core.Common.DbProviderServices.GetProviderManifestToken(DbConnection connection) at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServicesproviderServices, DbConnection connection) --- End of inner exception stack trace --- at System.Data.Entity.Utilities.DbProviderServicesExtensions.GetProviderManifestTokenChecked(DbProviderServices providerServices, DbConnection connection) at System.Data.Entity.Infrastructure.DefaultManifestTokenResolver.<>c__DisplayClass1.b__0(Tuple'3 k) at System.Collections.Concurrent.ConcurrentDictionary'2.GetOrAdd(TKey key, Func'2 valueFactory) atSystem.Data.Entity.Infrastructure.DefaultManifestTokenResolver.ResolveManifestToken(DbConnection connection) at System.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() at System.Data.Entity.Internal.Linq.InternalSet'1.get_InternalContext() at System.Data.Entity.Infrastructure.DbQuery'1.System.Linq.IQueryable.get_Provider() at System.Linq.Queryable.FirstOrDefault[TSource](IQueryable'1 source, Expression'1 谓词) at Mdt.Business.CommonRepository.LoginAdmin(String username, String passwod) at Mdt.BackendWeb.Controllers.LoginController.Index(LoginAdminModel model, String returnUrl)

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

我不知道为什么。

请帮助我。

使用实体框架错误连接 MySQL 数据库

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