删除数据库中多余的扩展字段
【概述】
PLM中客户在PDM基础对象扩展单据中增加扩展字段,,但是数据库表是有一个1024个字段的限制,在BOS中增加超出后就会有一个表结构保存出错XXX超出了1024列的最大值的错误提示。
【操作步骤】
需要按照下面步骤将多余的扩展字段在数据库中删除掉:
第一步、业务类型配置中删除对应的扩展字段。
第二步、BOSIDE中在PDM基础对象扩展单据中删除对应的字段。
第三步、执行删除字段的脚本
-- T_PLM_PDM_BASE_0 是PDM基础对象扩展单据的表名(如果字段没有指定拆分表,一般都在这个表),
-- FFIELDNAME是字段名(可以在BOS中看,见下图)
数据库中执行 alter table T_PLM_PDM_BASE_0 drop column FFIELDNAME
一般会遇到一个报错,报错信息如下
消息 5074,级别 16,状态 1,第 3 行 对象'DF__T_PLM_PDM__F_BRI__34CA6C50' 依赖于 列'F_BRI_ECR_ECN_SXSJ'。 消息 4922,级别 16,状态 9,第 3 行 由于一个或多个对象访问此 列,ALTER TABLE DROP COLUMN F_BRI_ECR_ECN_SXSJ 失败。
这个报错是说这个字段有一个约束 DF__T_PLM_PDM__F_BRI__34CA6C50 ,删除字段前需要将这个约束删除
数据库中执行 alter table T_PLM_PDM_BASE_0 drop constraint DF__T_PLM_PDM__F_BRI__34CA6C50
然后再次执行删除字段的脚本 alter table T_PLM_PDM_BASE_0 drop column FFIELDNAME
注意:PLM的扩展字段还有一个版本表也需要删除
重复执行上面的脚本,只是将表名改为 T_PLM_PDM_BASEVersion_0
可能遇到的问题:
如果字段是多语言文本,对应的表名是 T_PLM_PDM_BASE_L
删除数据库中多余的扩展字段就删除完成了
删除数据库中多余的扩展字段
本文2024-09-23 03:06:48发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-156802.html