“将截断字符串或二进制数据”异常的解决方案原创
69人赞赏了该文章
3,004次浏览
编辑于2023年12月04日 19:46:14
“将截断字符串或二进制数据”异常的解决方案
异常提示:
...,将截断字符串或二进制数据。
异常截图:
问题原因:
数据库在数据写入时,出现需要写入的字段数据长度 大于实际该字段数据库设计的长度,就会抛出截断异常。
对应系统为其业务对象(参数、基础资料、单据)在保存时出现某字段的录入数据大于其后台数据库设计的长度,就会触发该异常提示,导致无法保存。
问题分析:
BOS设计器中-文本字段存在一个“编辑长度”属性,控制字段在系统中的可录入长度。 在BOS设计器在首次保存元数据时,如若数据库中此字段还未存在,则此时BOS设计器会自动在数据中对应表创建该字段同时根据此属性设置该字段长度。字段存在后,后续此字段结构则不会再发生变化。
后续客户如若发现某些字段的编辑长度需要放大,则此时还需要考虑修改该字段的后台数据库字段长度,仅修改编辑长度的话,后续系统录入时则会触发此类异常提示。
解决方案:
找到超长字段:出现该超长报错,基本均是字符类型字段导致,对应系统控件基本都是 文本字段以及少数下拉字段,主要关注两类字段:有BOS修改字段的编辑长度属性的,和界面上文本字段字符内容较长的。然后再通过调整界面上字段长度内容到最小再保存观察是否报错,直到不报错时则为该字段超长。
解决超长报错:
· 如若录入数据长度无需超长,调整该字段的录入数据长度即可。 (推荐此方法)
· 如若录入数据长度需要超长,则需要调整后台数据库的设计长度。(如若调整标准字段方法需要注意相关影响)-- 使用:BOS设计器-数据结构变更 功能导出对应调整脚本,公有云-天梯执行脚本;私有云-联系管理员数据库执行脚本。
场景案例:
- 业务对象(参数、基础资料、单据)保存(引入、下推、手工新增、后台生成等)操作。
- 关键计算操作等(校对、关账、MRP,结账等)。
- 报表查询
相关:
推荐阅读