达梦设置兼容日期格式导致查询dba_objects报错:[-6118]:Invalid datetime value.

发布时间 2023-12-15 09:34:35作者: PiscesCanon

 

达梦设置兼容日期格式导致查询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了。。。

https://www.cnblogs.com/PiscesCanon/p/17902676.html