Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ASP.NET核心| Pomelo MySQL |脚手架通过控制台工作,但没有通过代码连接_Mysql_Docker_Asp.net Core - Fatal编程技术网

ASP.NET核心| Pomelo MySQL |脚手架通过控制台工作,但没有通过代码连接

ASP.NET核心| Pomelo MySQL |脚手架通过控制台工作,但没有通过代码连接,mysql,docker,asp.net-core,Mysql,Docker,Asp.net Core,我刚刚开始为我的公司编写一个新的小程序,它使用ASP.NET Core 2.1和Pomelo.EntityFrameworkCore.MySql连接到公司的数据库。 我通过控制台搭建了桌子的脚手架,效果很好。 但我无法使用与通过控制台搭建时相同的连接字符串从代码中获得到数据库的连接。 我检查了数据库的权限,我用来访问的用户拥有所有权限(包括来自每个主机的连接) 最终很高兴知道:MySQL数据库运行在docker容器(linux)和我的应用程序中,而我的系统运行的是Windows 10。我很容易通

我刚刚开始为我的公司编写一个新的小程序,它使用ASP.NET Core 2.1和Pomelo.EntityFrameworkCore.MySql连接到公司的数据库。 我通过控制台搭建了桌子的脚手架,效果很好。 但我无法使用与通过控制台搭建时相同的连接字符串从代码中获得到数据库的连接。 我检查了数据库的权限,我用来访问的用户拥有所有权限(包括来自每个主机的连接)

最终很高兴知道:MySQL数据库运行在docker容器(linux)和我的应用程序中,而我的系统运行的是Windows 10。我很容易通过scaffolding脚本和MySQL工作台连接到数据库

我的连接字符串:
Server=localhost;端口=3306;数据库=XXX;用户=XXX;密码=XXX

我收到的错误消息是:

MySqlException: Unable to connect to any of the specified MySQL hosts.
MySqlConnector.Core.ServerSession.ConnectAsync(ConnectionSettings cs, ILoadBalancer loadBalancer, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ServerSession.cs
MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ConnectionPool.cs
MySqlConnector.Core.ConnectionPool.GetSessionAsync(MySqlConnection connection, IOBehavior ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\Core\ConnectionPool.cs
MySql.Data.MySqlClient.MySqlConnection.CreateSessionAsync(Nullable<IOBehavior> ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlConnection.cs
MySql.Data.MySqlClient.MySqlConnection.OpenAsync(Nullable<IOBehavior> ioBehavior, CancellationToken cancellationToken) in C:\projects\mysqlconnector\src\MySqlConnector\MySql.Data.MySqlClient\MySqlConnection.cs
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(bool errorsExpected, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken cancellationToken, bool errorsExpected)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable<T>+AsyncEnumerator.BufferlessMoveNext(DbContext _, bool buffer, CancellationToken cancellationToken)
Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync<TState, TResult>(TState state, Func<DbContext, TState, CancellationToken, Task<TResult>> operation, Func<DbContext, TState, CancellationToken, Task<ExecutionResult<TResult>>> verifySucceeded, CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable<T>+AsyncEnumerator.MoveNext(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable+SelectEnumerableAsyncIterator<TSource, TResult>.MoveNextCore(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable+AsyncIterator<TSource>.MoveNext(CancellationToken cancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider+ExceptionInterceptor<T>+EnumeratorExceptionInterceptor.MoveNext(CancellationToken cancellationToken)
System.Linq.AsyncEnumerable.Aggregate_<TSource, TAccumulate, TResult>(IAsyncEnumerable<TSource> source, TAccumulate seed, Func<TAccumulate, TSource, TAccumulate> accumulator, Func<TAccumulate, TResult> resultSelector, CancellationToken cancellationToken)
Project_Gunther.Controllers.SevUsersController.Index()
Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfIActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, object controller, object[] arguments)
System.Threading.Tasks.ValueTask<TResult>.get_Result()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext context)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State next, ref Scope scope, ref object state, ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext httpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext context)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext context)
MySqlException:无法连接到任何指定的MySQL主机。
C:\projects\MySqlConnector\src\MySqlConnector\Core\ServerSession.cs中的MySqlConnector.Core.ServerSession.ConnectAsync
C:\projects\MySqlConnector\src\MySqlConnector\Core\ConnectionPool.GetSessionAsync(MySqlConnection连接,IOBehavior,CancellationToken CancellationToken)中的MySqlConnector.Core.ConnectionPool.GetSessionAsync
C:\projects\MySqlConnector\src\MySqlConnector\Core\ConnectionPool.GetSessionAsync(MySqlConnection连接,IOBehavior,CancellationToken CancellationToken)中的MySqlConnector.Core.ConnectionPool.GetSessionAsync
C:\projects\mysqlconnector\src\mysqlconnector\MySql.Data.MySqlConnection.CreateSessionAsync(可为Null的ioBehavior,CancellationToken CancellationToken)中的MySql.Data.MySqlConnection.CreateSessionAsync(可为Null的ioBehavior,CancellationToken CancellationToken)
C:\projects\mysqlconnector\src\mysqlconnector\MySql.Data.MySqlClient.MySqlConnection.OpenAsync(Nullable ioBehavior,CancellationToken CancellationToken)中的MySql.Data.MySqlConnection.OpenAsync
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnectionAsync(bool errorsExpected,CancellationToken CancellationToken)
Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenAsync(CancellationToken CancellationToken,bool errorsExpected)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable+AsyncEnumerator.BufferlessMovenText(DbContext,布尔缓冲区,CancellationToken CancellationToken)
Pomelo.EntityFrameworkCore.MySql.Storage.Internal.MySqlExecutionStrategy.ExecuteAsync(TState状态,Func操作,Func验证成功,CancellationToken CancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncQueryingEnumerable+AsyncEnumerator.MoveNext(CancellationToken CancellationToken)
System.Linq.AsyncEnumerable+SelectEnumerableAsyncCiterator.MoveNextCore(CancellationToken CancellationToken)
System.Linq.AsyncEnumerable+AsyncIterator.MoveNext(CancellationToken CancellationToken)
Microsoft.EntityFrameworkCore.Query.Internal.AsyncLinqOperatorProvider+ExceptionInterceptor+EnumeratorExceptionInterceptor.MoveNext(CancellationToken CancellationToken)
System.Linq.AsyncEnumerable.Aggregate_389;(IAsyncEnumerable源、TAccumulate种子、Func累加器、Func结果选择器、CancellationToken CancellationToken)
Project_Gunther.Controllers.SevUsersController.Index()
Microsoft.AspNetCore.Mvc.Internal.ActionMethodExecutor+TaskOfActionResultExecutor.Execute(IActionResultTypeMapper映射器、ObjectMethodExecutor执行器、对象控制器、对象[]参数)
System.Threading.Tasks.ValueTask.get_Result()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeActionMethodAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeNextActionFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Rethrow(ActionExecutedContext上下文)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(ref状态Next、ref范围、ref对象状态、ref bool已完成)
Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.InvokeInnerFilterAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeNextResourceFilter()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Rethrow(ResourceExecutedContext)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.Next(ref State Next、ref Scope Scope、ref object State、ref bool isCompleted)
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeFilterPipelineAsync()
Microsoft.AspNetCore.Mvc.Internal.ResourceInvoker.InvokeAsync()
Microsoft.AspNetCore.Builder.RouterMiddleware.Invoke(HttpContext HttpContext)
Microsoft.AspNetCore.StaticFiles.StaticFileMiddleware.Invoke(HttpContext上下文)
Microsoft.AspNetCore.Diagnostics.DeveloperExceptionPageMiddleware.Invoke(HttpContext上下文)
我需要为端口建立任何连接才能从另一个容器中的docker容器访问数据库吗

提前谢谢你的帮助


你好,菲利克斯,你看过吗?您是否检查了根本原因异常?就我现在与数据库的连接而言,这似乎已经修复了问题。非常感谢@stukselbax!