为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:8.1/8.2安全版
【操作系统】:centos8
【CPU】:x86
【问题描述】*:流程引擎在适配达梦8.1时,如果连接数据库的账号不具备dba权限,则会报错数据表不存在。反应到代码上,就是DmjdbcDriver这个jar包里的dm.jdbc.driver.DmdbDatabaseMetaData类的do_getTables方法所返回的DmdbResultSet对象的totalRowCount属性为0,致使后续判定为表不存在。但是所执行的查询sql却有查询结果。若账号具备dba权限,则DmdbResultSet对象的totalRowCount属性为1。后续判定正确。
在8.2安全版中,即便账号具备dba权限,仍然会出现数据表不存在的错误判定。
请问如何解决
你这个报表不存在,是用业务用户登录,查的业务用户下的表吗?如果不是,是用的A用户查询B模式的表的话,A用户得要加B的模式名,再把B模式下的表的查询条件给A用户。