我遇到类似的问题,有人能解决吗? 30C

在使用润乾行式报表的toolbar中自带的“删除”功能的时候,润乾自己构建的SQL语句错误,删除功能无法实现
根据我设计的报表,点击"删除"时,润乾自己构建sql语句中查询的表没有前缀,
润乾自动构建的SQL:delete from TB_RPT_PLAN where UUID = ?
异常:java.sql.SQLException: ORA-00942: 表或视图不存在

我们能不能在程序中把这个错误的SQL语句修正确呢?
我需要的正确的SQL:delete from brpms.TB_RPT_PLAN where UUID = ?

或者说润乾本身就可以通过配置来修正这个错误?还是我哪里配置错误了,请帮忙分析下,谢谢了!

具体信息描述如下:
1.使用润乾报表的行式填报报表时,配置上自带的toolbar就会出现4个功能标签:
插入 添加 删除 提交
2.数据库是Oracle,数据集来自单表,表属于用户brpms,表名是TB_RPT_PLAN
4.报表设计的时候设置也没有错,如下:
在主格中右键-->填报属性-->更新-->增加...
数据源:ds1 模式:BRPMS
更新表: TB_RPT_PLAN

主键:UUID
其他更新字段都对应正确
3.PLSQL Developer中使用SQL语句删除肯定能成功
delete from BRPMS.TB_RPT_PLAN p where p.UUID='PLAN0000000000000000000000000441';
4.在报表中点击"删除"按钮来删除的时候抛出异常:
java.sql.SQLException: ORA-00942: 表或视图不存在
润乾自己组装的SQL如下:
SQL = delete from TB_RPT_PLAN where UUID = ?
参数1 = PLAN0000000000000000000000000441

3个回答

说了这么多是什么意思?

hu961691590
大黄瓜de冬天 你都没仔细看,就发表言论,lz说的很清楚了,sql形成后没有数据库名,导致不能运行
接近 2 年之前 回复

比如上面说的:想要的SQL是:delete from brpms.TB_RPT_PLAN where UUID = ?
但是,使用行式报表拼接出来的sql却是:delete from TB_RPT_PLAN where UUID = ?
缺少指定的模式,即brpms

我做过的项目是不写库名的,这个一般在配置文件中集中配置。没使用过lz说的润乾行式报表,可以做个参考,找一找有没有哪里可以配置库名

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!