[Change Server ] Data is Null. This method or property cannot be called on Null values.

3 days ago
Hi,
i have change my server and reconfigurate Nopcommerce 4.30 + MySQL 8.0.23 on Windows Server 2019

In Administration i have this error:

Page: /Admin/Setting/GeneralCommon

Data is Null. This method or property cannot be called on Null values.


Messaggio completo  
System.Data.SqlTypes.SqlNullValueException: Data is Null. This method or property cannot be called on Null values.
   at MySql.Data.MySqlClient.MySqlDataReader.GetFieldValue(Int32 index, Boolean checkNull)
   at MySql.Data.MySqlClient.MySqlDataReader.GetString(Int32 i)
   at MySql.Data.MySqlClient.SchemaProvider.GetProcedures(String[] restrictions)
   at MySql.Data.MySqlClient.ISSchemaProvider.GetProcedures(String[] restrictions)
   at MySql.Data.MySqlClient.ISSchemaProvider.GetSchemaInternal(String collection, String[] restrictions)
   at MySql.Data.MySqlClient.SchemaProvider.GetSchema(String collection, String[] restrictions)
   at MySql.Data.MySqlClient.MySqlConnection.GetSchemaCollection(String collectionName, String[] restrictionValues)
   at MySql.Data.MySqlClient.ProcedureCache.GetProcData(MySqlConnection connection, String spName)
   at MySql.Data.MySqlClient.ProcedureCache.AddNew(MySqlConnection connection, String spName)
   at MySql.Data.MySqlClient.ProcedureCache.GetProcedure(MySqlConnection conn, String spName, String cacheKey)
   at MySql.Data.MySqlClient.StoredProcedure.GetParameters(String procName)
   at MySql.Data.MySqlClient.StoredProcedure.CheckParameters(String spName)
   at MySql.Data.MySqlClient.StoredProcedure.Resolve(Boolean preparing)
   at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior behavior)
   at LinqToDB.Data.DataConnection.ExecuteReader(CommandBehavior commandBehavior)
   at LinqToDB.Data.CommandInfo.Execute[T]()
   at LinqToDB.Data.CommandInfo.ExecuteProc[T]()
   at Nop.Data.BaseDataProvider.ExecuteStoredProcedure[T](String procedureName, DataParameter[] parameters) in C:\ZDATI\Development\nopcommerce430-source\Libraries\Nop.Data\BaseDataProvider.cs:line 237
   at Nop.Services.Common.FulltextService.IsFullTextSupported() in C:\ZDATI\Development\nopcommerce430-source\Libraries\Nop.Services\Common\FulltextService.cs:line 33
   at Nop.Web.Areas.Admin.Factories.SettingModelFactory.PrepareFullTextSettingsModel() in C:\ZDATI\Development\nopcommerce430-source\Presentation\Nop.Web\Areas\Admin\Factories\SettingModelFactory.cs:line 601
   at Nop.Web.Areas.Admin.Factories.SettingModelFactory.PrepareGeneralCommonSettingsModel() in C:\ZDATI\Development\nopcommerce430-source\Presentation\Nop.Web\Areas\Admin\Factories\SettingModelFactory.cs:line 1483
   at Nop.Web.Areas.Admin.Controllers.SettingController.GeneralCommon() in C:\ZDATI\Development\nopcommerce430-source\Presentation\Nop.Web\Areas\Admin\Controllers\SettingController.cs:line 1239
   at lambda_method(Closure , Object , Object[] )
   at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.SyncActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeActionMethodAsync()
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeNextActionFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.InvokeInnerFilterAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|24_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.InvokeFilterPipelineAsync()
--- End of stack trace from previous location where exception was thrown ---
   at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Logged|17_1(ResourceInvoker invoker)
   at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
   at WebMarkupMin.AspNetCore3.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression)
   at WebMarkupMin.AspNetCore3.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression)
   at WebMarkupMin.AspNetCore3.WebMarkupMinMiddlewareBase.Invoke(HttpContext context)
   at StackExchange.Profiling.MiniProfilerMiddleware.Invoke(HttpContext context) in C:\projects\dotnet\src\MiniProfiler.AspNetCore\MiniProfilerMiddleware.cs:line 125
   at Nop.Services.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) in C:\ZDATI\Development\nopcommerce430-source\Libraries\Nop.Services\Authentication\AuthenticationMiddleware.cs:line 79
   at Microsoft.AspNetCore.Localization.RequestLocalizationMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Session.SessionMiddleware.Invoke(HttpContext context)
   at Nop.Services.Installation.InstallUrlMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in C:\ZDATI\Development\nopcommerce430-source\Libraries\Nop.Services\Installation\InstallUrlMiddleware.cs:line 53
   at Nop.Services.Common.KeepAliveMiddleware.Invoke(HttpContext context, IWebHelper webHelper) in C:\ZDATI\Development\nopcommerce430-source\Libraries\Nop.Services\Common\KeepAliveMiddleware.cs:line 50
   at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context)
   at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.<Invoke>g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)
2 days ago
The error seems to be related to call the IsFullTextSupported stored procedure.  Maybe you can debug it futher.
2 days ago
Thank you for reply,
but i don't understand, mysql user has full permission to access on database and folder are permission in writing

In old server Windows2012 with mysql 5.6.29 and same permission files work perfectly!

thanks to those who help me
2 days ago
This is not a "permissions'" issue.  The error is
Data is Null. This method or property cannot be called on Null values.

Manually call the stored procedure on each DB server to see if the result differs.
2 days ago
If I change the connectionstring with the root user of the mysql database in the DataSettings.json  everything works correctly!

But if I assign all the permissions to a user on the nopcommerce database it returns me the error
1 day ago
Then I suspect some exception is being handled, and null is being returned...

Manually call the stored procedure on each DB server to see if the result differs.  (Logged in to the MySql DB as the nopCommerce user)
1 day ago
New York wrote:
Manually call the stored procedure on each DB server to see if the result differs.  (Logged in to the MySql DB as the nopCommerce user)


Same result: 1