【出纳-错误分析】付款单查询报错ORA-01445
金蝶云社区-一只小皮皮
一只小皮皮
0人赞赏了该文章 1,122次浏览 未经作者许可,禁止转载编辑于2017年08月13日 16:57:19

问题描述:
付款单查询报错,错误堆栈信息如下:
Caused exception message is: DataLimitCaused exception message is: ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table错误详细堆栈信息:java.lang.RuntimeException: com.kingdee.bos.SQLDataException: ORA-01445: cannot select ROWID from, or sample, a join view without a key-preserved table

原因分析:
无法从不带保留关键字的表的连接管视图中选择rowid或采样。因为子查询中查询出的记录不能保证唯一性,所以无法确认ROWID
解决方案一:推荐
请检查数据库版本是否符合EAS所要求的数据库最低版本,10.2.0.4。如果不满足要求,请升级数据库版本.

解决方案二:检查条件,看是否查询条件查询出的记录唯一,如果不是唯一的,试试在使用到的列上建立唯一索引或主键。(待完善)
解决方案三:(执行方言)此方案修改修改或会影响总账及其他模块性能变慢,此方法废弃。请勿修改此参数。
alter system set "_COMPLEX_VIEW_MERGING"=FALSE
alter system set "_SIMPLE_VIEW_MERGING"=FALSE
注:该方案是修改
Oracle隐含参数,在网上搜到很多解决方案会让修改此参数,修改后会影响部分性能,请勿修改此参数。