达梦设置兼容日期格式导致查询dba_objects报错:[-6118]:Invalid datetime value.
达梦设置兼容日期格式导致查询dba_objects报错:[-6118]:Invalid datetime value.
目前在如下版本中发现这个问题:
SQL> select t.*,id_code from v$version t; LINEID BANNER ID_CODE ---------- ------------------------- ---------------------------- 1 DM Database Server 64 V8 1-1-190-21.03.12-136419-SEC 2 DB Version: 0x7000c 1-1-190-21.03.12-136419-SEC used time: 0.947(ms). Execute id is 2038103.
在8.1(--05134284044-20230417-187846-20040)版本则没有发现此问题。
在问题版本中设置DATETIME_FMT_MODE参数,该参数表示:
是否兼容 ORACLE 日期格式。0:不兼容;1:兼容(可以在线修改即时生效)
如果设置为1表示兼容Oracle日期格式,则会导致无法查询dba_objects。
现象如下:防偷防爬。
SQL> SP_SET_PARA_VALUE(1,'DATETIME_FMT_MODE',1); DMSQL executed successfully used time: 10.275(ms). Execute id is 2038105. 重新进去新会话 SQL> select sf_get_para_value(1,'DATETIME_FMT_MODE'); LINEID SF_GET_PARA_VALUE(1,'DATETIME_FMT_MODE') ---------- ---------------------------------------- 1 1 used time: 9.546(ms). Execute id is 2041100. SQL> select * from dba_objects; select * from dba_objects; [-6118]:Invalid datetime value. used time: 31.346(ms). Execute id is 0.
只能将之设置为0了。。。