请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

QQ登录

只需一步,快速开始

花火
金牌服务用户   /  发表于:2025-3-24 11:08  /   查看:148  /  回复:9
10金币


场景:在添加数据的时候,提交时提示操作数据库失败,点击确定,整个页面就没有了,再打开,将数据重新填一遍,又能提交成功,这种是什么原因呢?
注:1、第一张图片是提交时候的弹窗,第二张图片和第三张图片是控制台的日志;
       2、同样的操作,偶尔会出现这个问题,不是每次都会出现;
       3、在添加详情界面,有时候可能会持续10分钟左右才会提交,因为再填的过程中需要确认信息。
附件: 您需要 登录 才可以下载或查看,没有帐号?立即注册

最佳答案

查看完整内容

好的,这个问题不稳定复现,主要只能通过日志调查了。 那下次再出现这个问题,咱们记录一下时间,收集一下日志,我们再调查一下 问题跟进: 问题调查方案:由于数据的添加是通过服务端命令完成添加的,开启了服务端命令的详情日志模式,再次出现问题,发现添加到数据表中的“订单接收人”,并不是一个真正的用户,而是下面的数据 猜测应该是页面上使用公式导致结果错误,最后将错误的结果,更新到数据库,字段又设置 ...

9 个回复

倒序浏览
最佳答案
最佳答案
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2025-3-24 11:08:30
来自 10#
本帖最后由 Grayson.Shang 于 2025-3-27 12:23 编辑

好的,这个问题不稳定复现,主要只能通过日志调查了。
那下次再出现这个问题,咱们记录一下时间,收集一下日志,我们再调查一下

问题跟进:
问题调查方案:由于数据的添加是通过服务端命令完成添加的,开启了服务端命令的详情日志模式,再次出现问题,发现添加到数据表中的“订单接收人”,并不是一个真正的用户,而是下面的数据
{"_calcError":"#NAME?","_code":29}
猜测应该是页面上使用公式导致结果错误,最后将错误的结果,更新到数据库,字段又设置了长度,导致最终更新失败。

根据页面上的设计,找到了一个命令,猜测可能是导致出现问题的原因,逻辑存在一些问题,尝试复现也可以复现出公式使用报错的信息,更新了之后,再等待后续测试结果。
回复 使用道具 举报
stranger
银牌会员   /  发表于:2025-3-24 11:24:05
2#
直接单独打开那个服务端命令,点测试,看下错在哪
回复 使用道具 举报
花火
金牌服务用户   /  发表于:2025-3-24 11:31:33
3#
stranger 发表于 2025-3-24 11:24
直接单独打开那个服务端命令,点测试,看下错在哪

服务端命令是能正常执行的,已经在生产环境中使用了半年多了,就是偶尔会出那么一次问题,数据重新填又是可以的。
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2025-3-24 12:06:09
4#
感谢大佬支持,从第二张图的报错信息上看,咱们这个数据表操作失败,发生在数据更新的时候,出现的问题是,“订单接收人”字段的数据太长了。

从咱们的描述来看,应该不是逻辑限制的问题,可能和业务实际操作的数据有关系。咱们可以在管理控制台的日志模块,开启一下数据库的SQL日志
我这边没有9版本的管理控制台,使用10.0的管理控制台截图作为示例,可能和9有些差别,不过应该也存在SQL 日志模块,咱们可以开启一下




通过这个功能,咱们可以看到数据表操作失败,具体的SQL,和对应的数据,看看是否可以和报错信息对应起来,进行调查

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
花火
金牌服务用户   /  发表于:2025-3-24 13:18:23
5#
Grayson.Shang 发表于 2025-3-24 12:06
感谢大佬支持,从第二张图的报错信息上看,咱们这个数据表操作失败,发生在数据更新的时候,出现的问题是, ...

1、订单接收人就填了三个字符,系统字段长度设置的是20
2、SQL日志是开启的,怎么查看具体数据呢?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2025-3-24 15:23:04
6#
大佬您好,正常来说,若是数据库字段设置了20,输入输入不超过20的话,确实不会出现这个报错,mysql中varchar类型,的长度是字符的长度,不是字节。

所以这个问题的调查还是需要看SQL的日志的,若是咱们已经开启了SQL日志记录,具体查看如下:


可以在页面操作失败之后,查询到对应应用的SQL日志,看到具体的SQL,以及每一个字段具体插入的数据,通过这个可以看到是否存在和报错信息一致的数据插入

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
花火
金牌服务用户   /  发表于:2025-3-25 14:01:52
7#
Grayson.Shang 发表于 2025-3-24 15:23
大佬您好,正常来说,若是数据库字段设置了20,输入输入不超过20的话,确实不会出现这个报错,mysql中varch ...

订单接收人是从用户视图选择的用户名,不是手动输入的。
9.0版本没有这个查看界面或者是我没有找到查看的地方,是否可以远程帮忙看看具体问题?

有没有一种可能,页面停留太久没有操作,导致用户退出了,所以提交失败?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 使用道具 举报
Grayson.Shang活字格认证 Wyn认证
超级版主   /  发表于:2025-3-25 16:06:03
8#
大佬您好,和用户登录退出应该没有关系,若是用户退出导致数据更新失败,那么管理控制台报的错误,就是没有权限更新数据,而不是字段值太长。

这样子咱们做一些下面的操作,若是还是不行,可以一起远程看看
1、在应用中复现一下咱们的问题,确认问题复现了,可以在日志中找到帖子中发的报错信息
2、然后通过管理控制台的日志收集功能,收集一下日志,将日志上传达到帖子中
3、描述一下具体的操作时间,操作的应用,管理控制台查看日志的报错截图

我这边根据咱们的日志调查一下
回复 使用道具 举报
花火
金牌服务用户   /  发表于:2025-3-26 10:52:14
9#
Grayson.Shang 发表于 2025-3-25 16:06
大佬您好,和用户登录退出应该没有关系,若是用户退出导致数据更新失败,那么管理控制台报的错误,就是没有 ...

那只能下次遇到再收集日志了,从那天提示提交失败后,又操作了好几次,都是正常的。
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部