应用系统数据从其他数据库迁移到达梦时可能会遇到表名、字段名等是达梦的关键字,从而导致查询报错。为了数据库兼容,可以选择屏蔽部分达梦的关键字。本文将讨论如何查看达梦关键字,以及屏蔽关键字的两种常用方法,帮助数据库管理人员更好的使用达梦数据库。

环境说明:

数据库版本:DM8;

关键词:关键字屏蔽

一、查看达梦关键字

查看视图V$RESERVED_WORD获取DM关键字

SQL> select keyword,reserved from v$reserved_words;

以关键字LIST为例,由于LIST是关键字,所以作为列的别名时sql会报语法分析错误。

SQL> select username list from dba_users;
select username list from dba_users;select username list from dba_users;
*
第 1 行, 第 34 列[list]附近出现错误[-2007]:
语法分析出错.

查看LIST是否存在DM关键字中

SQL> select keyword,reserved from v$reserved_words where keyword='LIST';行号 KEYWORD  RESERVED
--- -------  --------
1   LIST     Y

二、达梦数据库屏蔽关键字的两种方法

2.1 方法一:通过设置参数参数屏蔽关键字

设置EXCLUDE_RESERVED_WORDS参数值为要屏蔽的关键字,重启数据库实例生效。

SQL> SP_SET_PARA_STRING_VALUE(2, 'EXCLUDE_RESERVED_WORDS','LIST');
[dmdba@localhost bin]$ ./DmServicePROD restart

生效后再查看视图V$RESERVED_WORDS中已经没有LIST;

SQL> select keyword,reserved from v$reserved_words where keyword='LIST';
未选定行

此时LIST关键字被屏蔽,可以作为列别名使用。

SQL> select username list from dba_users;行号 LIST
--- -----
1 SYSSSO
2 TEST
3 SYSDBA
4 SYS
5 SYSAUDITOR

2.2 方法二:通过配置dm_svc.conf文件来屏蔽关键字

32 位的 DM 安装在 Win32 操作平台下,此文件位于%SystemRoot%\system32 目录;

64 位的 DM 安装在Win64 操作平台下,此文件位于%SystemRoot%\system32 目录;

32 位的 DM 安装在 Win64操作平台下,此文件位于%SystemRoot%\SysWOW64 目录;

在 Linux 平台下,此文件位于/etc 目录。

以linux为例:

[dmdba@localhost ~]$ vi /etc/dm_svc.conf

添加以下内容:(其中dm为自定义服务名)

dm=(192.168.45.102:5237)
[dm]
KEYWORDS=(LIST) ##多个关键字以逗号隔离

用服务名登录达梦数据库;

[dmdba@localhost bin]$ ./disql sysdba/Dameng123@dm

查看关键字屏蔽是否生效。

SQL> select username list from dba_users;

行号 LIST
---- -----
1 SYSSSO
2 TEST
3 SYSDBA
4 SYS
5 SYSAUDITOR

欢迎访问个人博客Jackin's Blog

达梦数据库关键字屏蔽相关推荐

  1. 达梦数据库关键字大全

    达梦数据库关键字大全(关键字不区分大小写) 注:仅对dm8.4之前版本 1 KEYWORD LENGTH 2 ABORT 5 3 ABSOLUTE 8 4 ABSTRACT 8 5 ACCESSED ...

  2. 达梦数据库关键字介绍

    达梦数据库 关键字和 保留字 以下不带 *号的为关键字,带 *号的为系统保留字. DM 还将保留字进一步划分为 SQL 保留字.DMSQL 程序保留字.模式保留字.变量保留 字和别名保留字,具体请查询 ...

  3. 达梦数据库关键字与字段名冲突

    在某次mysql数据库系统适配达梦数据库时,碰到sql语句报错,导致接口请求错误. sql如下: SELECT t.id AS tableId, t.comment AS tableComment,t ...

  4. 达梦数据库客户端屏蔽sql关键字

    问题场景: 有这样⼀个库,A⽤户需要屏蔽关键字interval,但是不能屏蔽context,B⽤户需要屏蔽关键字context,但是不能屏蔽interval.如果在dm.ini⾥的设置EXCLUSIV ...

  5. 达梦数据库关键字冲突问题解决及常用SQL语句整理

    1.解决SQL中关键字冲突问题      一般修改dm_svc.conf文件  列如:过滤object,result关键字.  通用版里面增加格式如下:EXCLUE_RESERVED_WORDS=ob ...

  6. MySQL适配达梦数据库注意事项

    问题说明:达梦数据库jdbc驱动无法下载 问题说明:达梦数据库jdbc驱动版本 问题说明:hibernate方言驱动 问题说明:达梦不支持mysql默认时间函数 问题说明:达梦数据库不支持LAST_I ...

  7. DM达梦数据库 - 设置忽略关键字方法,login关键字处理实例演示

    实例 sql 语句如下: INSERT INTO INTELLIV_USER (ID, LOGIN, PASSWORD_HASH, FIRST_NAME, LAST_NAME, EMAIL, IMAG ...

  8. 达梦数据库导入oracle数据_Java项目,从Oracle迁移到达梦数据库笔记

    达梦数据库是个国产数据库,据说对Oracle有很好的兼容,本人亲自从Oracle11g迁移到达梦6.0的数据库上来,遇到一些问题,以下是问题记录: 1.字段名错误 虽然达梦SQL可以兼容字段大小写,但 ...

  9. 达梦数据库-部署及日常工具使用

    DM 数据库安装方式 1.图形化安装 2.命令行安装 3.自动化安装 单机部署 一.操作系统配置检查 1.内核版本大于2.6 [root@itsdata ~]# uname -r 3.10.0-116 ...

最新文章

  1. 论文阅读(Xiang Bai——【arXiv2016】Scene Text Detection via Holistic, Multi-Channel Prediction)...
  2. JZOJ 4161. 于神之怒
  3. Thread类中的join方法
  4. JDK源码分析(三)——HashMap 下(基于JDK8)
  5. 计算机网络配置调试综合实验,计算机网络设备配置与调试课程标准.doc
  6. windos系统快捷键 2015-05-08 23:31 24人阅读 评论(0) 收藏...
  7. 20CM网线你会拿来干什么??
  8. word论文格式调整
  9. 一个老工程师给年轻人的十大忠告【转帖】
  10. [渝粤教育] 泰州学院 信息技术基础 参考 资料
  11. 计算机键盘无法识别,键盘无法识别的解决妙招
  12. 量化投资中常用python代码分析(一)
  13. HTML+css+js实现网页时钟、全网做得最好的时钟!
  14. bandit agent下棋AI(python编写) 通过强化学习RL 使用numpy
  15. win10无线投屏_Win10系统自带手机投屏功能真的能取代投屏器吗?
  16. 2021国家开放大学计算机网络安全技术形成性考核二
  17. “华为杯”研究生数学建模竞赛2020年-【华为杯】C题:面向康复工程的脑电信号分析和判别模型(附优秀论文)
  18. 四元傅里叶显著性图-四元数-Matlab编程
  19. STM32学习笔记1-软件安装
  20. source insight教程:常用设置、快捷键、附带source insight3.5和4的对比

热门文章

  1. jmeter非gui运行的方式以及jtl文件的查看
  2. Android Transition过渡动画
  3. 【独立版】智创云享3107、易搜资料1.4.3、变现宝1.2.4最新版
  4. python编程制作接金币游戏_pygame闪电侠接金币整套源代码
  5. JS中的async/await的用法和理解
  6. Typora + 七牛云图床快速配置,告别手动上传图片!
  7. 【HDU 1997】汉诺塔VII
  8. 简版商务合作保密协议
  9. 电子商务利用了计算机网络哪些特性,电子商务概述大题答案
  10. 自考计算机英语答题技巧,自考英语一考试答题技巧汇总