为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: Dm8 0x7000c
【操作系统】:linux
【CPU】: x86
【问题描述】*:
通过达梦日志,发现达梦报错的地方:
[INFO - 07/27/2022 18:34:30] tid:17 (IsBackground-True) { conn-20 (sessId:140064252301936), command-64, dateReader-59 } IsDBNull(Int32) [RETURN]: False; [PARAMS]: 8;
[INFO - 07/27/2022 18:34:30] tid:17 (IsBackground-True) { conn-20 (sessId:140064252301936), command-64, dateReader-59 } GetString(Int32) [RETURN]: 5236 (UNKNOW, UNKNOW)]Bad value for ai_flags
; [PARAMS]: 8;
1.我们有接口在进行大批量数据写入(50多万条,每次5000条写入)时,此时其它接口会报如下错误。
2.不确定是不是大批量数据写入导致的。
3.堆栈里是Dm.EPGroup.connect抛出的异常。
请问这个是什么原因呢?
Dm.DmException (0x80004005): [192.168.0.10:5236 (UNKNOW, UNKNOW)]Bad value for ai_flags
at Dm.DmError.ThrowDmException(Exception ex)
at Dm.EPGroup.connect(DmConnection conn)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.OpenDbConnection(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalConnection.Open(Boolean errorsExpected)
at Microsoft.EntityFrameworkCore.Storage.RelationalCommand.ExecuteReader(RelationalCommandParameterObject parameterObject)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.InitializeReader(DbContext _, Boolean result)
at Microsoft.EntityFrameworkCore.Dm.Storage.Internal.DmExecutionStrategy.Execute[TState,TResult](TState state, Func`3 operation, Func`3 verifySucceeded)
at Microsoft.EntityFrameworkCore.Query.Internal.QueryingEnumerable`1.Enumerator.MoveNext()
在连接字符串增加以下三个参数可以解决bad value for ai_flags问题:connPooling=true;socket_timeout=3600000;connPoolSize=1000。
已经在项目上遇到过,增加以上参数后,问题已经解决。
请问解决了吗?问题找到了吗 我也是这个问题