昨天搭建完成微服务的Seata事务控制后,有反馈使用过程中报错,错误信息如下:
io.seata.core.exception.TmTransactionException: TransactionException[begin global request failed. xid=null, msg=Data truncation: Data too long for column 'transaction_service_g
这个问题很明显提示的是Data too long ,说明使我们的数据在入库操作的时候报错,因为数据的长度超过了数据库字段设计的的最大长度。提示字段为transaction_service_group,则我们去我们的seata数据库中的三张表中查看此字段所在表global_table,将表中transaction_service_group字段原有32的长度更改作为256长度。
接下来我们测试发现错误问题已经解决。
授人以鱼,不如授人以渔!
有些小伙伴在没有使用过的框架一报错就不知道怎么来解决这个问题了!遇到问题我们要有一个自己的思路去解决,说到思路有的老程序员凭借经验一眼就能看出是什么问题,对于新手我们也不必恐慌,每个错误他都会提示的很明确!接下来我们看看这个问题怎么分析
从这里我们可以看到的是seata的异常错误信息,很明确表现了是事务控制异常,begin global request failed 这里说明是全局请求失败,接下来提示msg=Data truncation数据阶段信息。后面的Data too long for column 'transaction_service_group' 提示说明了列transaction_service_group的数据太长,超过了我们数据库涉及字段的最大值了!
这里就很明确的说明的使我们数据库表中的transaction_service_group这个字段的属性设置长度过低,接下来我们去数据库中找到对应的表中的这个字段transaction_service_group ,调整他的属性值长度即可完美解决这个问题。
好的,我们到这就把问题解决思路,以及解决方案提供完成了。
更多编程内容,请关注公众号《coder练习生》