达梦数据库运维-SQL报错-语法错误 2007
附近出现错误[-2007]:语法分析出错
·
达梦数据库运维-SQL报错-语法错误 2007
在使用达梦数据库过程中,很多人经常会发现在执行某SQL语句的时候,会出现类似于以下问题的报错,报错信息为
某列附近出现错误[-2007],语法分析出错;
当遇到这种情况,我们大致的排查思路是这样的:
方法1、
确认语法是否正确,如果有其他达梦数据库,可以尝试在其他达梦数据库上运行类似SQL进行验证。
方法2
执行下面语句,查询达梦数据库服务端是否有屏蔽对应关键字,若屏蔽了(PARA_VALUE列有对应值),则在SQL中无法正常使用该关键字作为条件语句。
select PARA_NAME,PARA_VALUE from v$dm_ini where PARA_NAME = 'EXCLUDE_RESERVED_WORDS'
上述方法等价于直接到dm.ini中查询对应参数,但也有区别:
cat /home/dmdba/dmdbms/data/DAMENG/dm.ini |grep EXCLUDE_RESERVED_WORDS
使用此方法也可以查询数据库服务端是否有屏蔽关键字,但若在此删除了关键字而未重启数据库,此参数是不生效的。
所以建议还是使用SQL查询是否在数据库服务端屏蔽了关键字。
方法3
在一些使用服务名对达梦数据库进行连接的情况下,在对应的服务名,也就是/etc/dm_svc.conf(windows为C:/windows/system32/dm_svc.conf)中,设置有KEY_WORDS参数,此参数后面接的也是屏蔽关键字,若此处屏蔽了对应关键字,效果等同于第二条,则在SQL中也无法正常使用该关键字作为条件语句。
更多推荐
已为社区贡献1条内容
所有评论(0)