51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

DM数据库的关键字和保留字

一、系统视图 {#一、系统视图}

系统视图:V$RESERVED_WORDS

保留字统计表,记录保留字的分类信息。
RES_FIXED=N 的关键字,通过 ini 参数 EXCLUDE_RESERVED_WORDS 设置之后会失效,此视图不会再记录。

二、查询关键字 {#二、查询关键字}

通过系统视图查询

SELECT * FROM SYS."V$RESERVED_WORDS" WHERE "V$RESERVED_WORDS".KEYWORD IN ('关键字');

>注:关键字和保留字还可以通过数据库安装路径中doc目录下《DM8_SQL语言使用手册.pdf》的附录1查看。

三、屏蔽关键字 {#三、屏蔽关键字}

(1)加双引号

SQL中用到的关键字全部用""引起来,例如:

SELECT "AFTER", "BACKUP" FROM TST; 

如果使用到关键字涉及的SQL比较多时,可以使用其他方式进行屏蔽。

(2)URL连接字符串

URL连接字符串也可以配置屏蔽关键字:&KEYWORLD=(关键字1,关键字2)。例如:

jdbc:dm://ip地址:5236/DAMENG?KEYWORDS=(XXXX,xxxx)

(3)客户端配置文件dm_svc.conf

在全局部分或者局部服务名后面添加【多个需屏蔽的关键字之间用逗号隔开】

DM1=(IP:PORT)
TIME_ZONE=(480)
LANGUAGE=(cn)
KEYWORDS=(XXXXXX,xxxxxx) #全局
[DM1]
TIME_ZONE=(480)
LANGUAGE=(cn)
KEYWORDS=(XXXXXX,xxxxxx) #局部

注意:若全局和局部均进行了关键字屏蔽配置,局部优先级高于全局。

重启应用生效。

(4)服务端配置文件dm.ini

方法一:直接修改文件

多个需屏蔽的关键字之间用逗号隔开

EXCLUDE_RESERVED_WORDS=屏蔽的关键字, 屏蔽的关键字

方法二:SQL方式修改参数

SP_SET_PARA_STRING_VALUE (2, 'EXCLUDE_RESERVED_WORDS', 'XXXXXX,XXXXXX');

重启数据库服务生效。

另 {#另}

如果通过(2)(3)(4)方式屏蔽关键字后影响了SQL的正常执行。那么涉及的关键字应当以(1)的方式进行屏蔽。

赞(0)
未经允许不得转载:工具盒子 » DM数据库的关键字和保留字