注册
达梦数据库命令行工具-disql的使用
培训园地/ 文章详情 /

达梦数据库命令行工具-disql的使用

秋渡 2026/04/20 10 0 0

1、DM数据库disql连接工具的存放位置

数据库disql连接工具的存放位置,在Linux环境下假设数据库安装目录在/opt/dmdbms/目录下,进入/opt/dmdbms/bin下执行./disql输入对应的用户名和密码即可访问数据库。
image.png
DM命令行工具位于达梦安装目录的bin下,图形化工具位于达梦安装目录的tool下。我们以linux环境为例,假设达梦数据库安装目录为/opt/dmdbms下,则命令行工具都在/opt/dmdbms/bin下,常用的命令行工具包括并不限于:

​ (1) 实例初始化工具dminit

​ (2) 命令行客户端工具disql

​ (3) 逻辑导入导出工具dimp/dexp

​ (4) 数据库校验工具dmdbchk

​ (5) core文件读取工具dmrdc

​ (6) 达梦恢复管理工具dmrman

​ (7) 脱机备份/还原工具dmbackup/dmrestore

​ (8) 快速数据装载工具dmfldr

​ (9) 集群监控工具dmmonitor

​ (10)数据库重演工具dreplay

​ (11)解析日志工具dmlcvt

2、达梦的命令行终端工具如何使用?

达梦提供了类似于Oracle的sqlplus的终端工具,即达梦命令行客户端工具disql,工具的路径在安装路径下的../dmdbms/bin/下,格式:disql 用户名/密码@IP:端口号

基本使用如下(路径以实际环境为准):
image.png
image.png

当密码后面不跟@ip:port时,则默认为@127.0.0.1:5236

3、disql登录含特殊字符的密码如何处理@等转义符

1、不同操作系统

举例1:Windows操作系统

创建用户
1 create user "TELLER" identified by "TELLER@/!12";

2 grant "PUBLIC","RESOURCE" to "TELLER";

用户权限使用disql登录报错如下
image.png

disql正确的登录如下:
image.png
Ø disql 的关键字符, disql 的要求对连接串的特殊字符需要使用双引号括起来”aaaa/aaaa”, 操作系统的要求需要再在最外加双引号和转义”””aaaa/aaaa”””。例如:用户名为 user01,密码为 aaaa/aaaa,那么连接串要写成: disql user01/”””aaaa/aaaa”””

Ø 空格,需要使用双引号括起来作为一个整体(这是操作系统的要求)。例如:用户名为 user01,密码为 aaaa aaaa ,处理方法同样需要前后各加3个双引号双引号, disql 要求对双引号需要使用双引号括起来,同时双引号需要转义”aaaa””aaaa”;操作系统要求再对双引号转义和最外层加双引号”””aaaa””””aaaa”””。例如:用户名为 user01,密码为 aaaa”aaaa ,那么连接串要写成: disqluser01/”””aaaa””””aaaa”””

举例2:Linux操作系统
创建用户
create user "TELLER" identified by "TELLER@/!12";
grant "PUBLIC","RESOURCE" to "TELLER"; --用户权限

disql登录报错如下:
image.png

Linux登录输入反斜杠\w结果显示如下:
image.png

原因是字体选择问题导致。

linux,shell输入反斜杠显示'W'。

solution:

字体必须为"Courier New"。

正确的登录方式如下:
image.png
在操作系统要求的基础上,增加 disql 对关键字和双引号的要求。
disql 的关键字符, disql 的要求对连接串的特殊字符需要使用双引号括起来。

例如:密码为 aaaa\aaaa,使用双引号括起来“aaaa\aaaa”, 因为此密码中不含有单引号,根据操作系统的要求直接在最外面加单引号。

例如:用户名为 user01,密码为 aaaa/aaaa,那么连接串要写成:./disql user01/’”aaaa/aaaa”’

双引号, disql 要求对双引号需要使用双引号括起来,同时双引号需要转义。
例如:密码为 aaa”\aaaa,那么根据 disql 的要求加双引号同时转义
为”aaa””\aaaa”,因为没有单引号,根据操作系统的要求直接加单引号。例如:用户名为 user01,密码为 aaa”\aaaa,那么连接串要写成: ./disql user01/’”aaa””\aaaa”’

单引号,根据操作系统的要求,只能将单引号放入双引号中。
例如:用户名为user01,密码为 aaaa'aaaa,那么连接串要写成:./disql user01/”aaaa'aaaa”

4、如何转义双引号?

disql 的要求使用双引号对双引号内的双引号转义。

WINDOWS 命令行,使用双引号或者反斜杠对双引号内的双引号转义。

LINUX 命令行,使用反斜杠对双引号内的双引号转义

简单描述型:

有时候密码包含了@等特殊字符导致disql无法直接连接和运行。需要通过转移符来处理。disql转义符使用如下

linux下,需要使用双引号将密码包含进来,同时外层再使用单引号进行转移,具体例子如下:
​./disql SYSDBA/'"abcd@efgh"'@localhost

windows下,需要使用双引号将密码包含进来,同时对双引号使用\进行转移,具体例子如下:
​ disql SYSDBA/"abcd@efgh"@localhost

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服