达梦数据库运维-SQL报错-语法错误 2007

本文介绍了在达梦数据库中遇到SQL语法错误2007时的解决办法,包括检查语法正确性、查询服务端关键字屏蔽情况以及检查服务名配置文件中的关键字设置。
摘要由CSDN通过智能技术生成

达梦数据库运维-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中也无法正常使用该关键字作为条件语句。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值