系统运维.数据异常.没有找到键为xxx的数据

【问题描述】
运行时,单据类型列表,WebApi测试或者单据参数配置界面报错:没有找到键为xxx的数据。
设计器,打开子系统报错:没有找到键为xxx的数据。

【问题原因】
业务对象标识必须在多个元数据主从表中保持大小写一致,虽然Sql Server类型的数据库不区分字符大小写,但是ORM底层代码按表主键值去检索数据时,是严格区分大小写的,于是就有问题了。
【解决办法】
<1>根据报错提示中给出的业务对象标识,去数据库检索所有可能出现大小写不一致的数据,并基于元数据XML中的业务对象标识进行数据修正。
/*检测是否存在业务对象标识大小写不一致的情况*/
SELECT FID,FKERNELXML FROM T_META_OBJECTTYPE WHERE FID='PUR_PurchaseOrder'
SELECT FID FROM T_META_OBJECTTYPE_E WHERE FID='PUR_PurchaseOrder'
SELECT FID FROM T_META_OBJECTTYPE_L WHERE FID='PUR_PurchaseOrder'
SELECT FID,FENTRYID FROM T_META_OBJECTTYPENAMEEX WHERE FID='PUR_PurchaseOrder'
SELECT FENTRYID FROM T_META_OBJECTTYPENAMEEX_L WHERE FENTRYID='PUR_PurchaseOrder'

<2>正确的业务对象标识,可参考表T_META_OBJECTTYPE中的FKERNELXML存储的元数据XML中的Id节点的值。如果上图中出现了业务对象标识大小写不一致的情况,需写Update语句进行修复。

例如:
UPDATE T_META_OBJECTTYPE_E SET FID='PU
系统运维.数据异常.没有找到键为xxx的数据
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



