本文主要介绍达梦数据库的客户端工具DIsql。
根据下图内容来进行:

DIsql工具简介
在安装完达梦数据库之后,可以借助工具访问,那么在达梦数据库中可以使用命令行工具,DIsql客户端工具来访问。当然也有图形工具,本文主要以DIsql为主。
DIsql工具和Oracle的sqlplus工具相似。
命令行语法
摘自达梦的官方手册《DM7_DIsql 使用手册》
DIsql [ [<option>] [<logon> | /NOLOG] [<start>] ]
<option>::=HELP|-H|-S
<logon>::=<username>[/<password>][*<MPP_TYPE>][@<server>][:<port>][?{UDP|TCP}
][#<sslpath>@ssl_pwd]
<start>::=<`运行脚本>|<start 运行脚本>|<直接执行语句>
<`运行脚本>::=`<file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<start 运行脚本>::=START <file_path> [<PARAMETER_VALUE>{ <PARAMETER_VALUE>}]
<直接执行语句>::= -E “<SQL 语句>{;<SQL 语句>}”
应用
- disql -h 查看帮助信息
DISQL 用法1:disql -h|help 显示disql版本信息和帮助信息
DISQL 用法2:disql [ [<option>] [{<logon> | /NOLOG}] [<start>] ]
<option> 为: [-L] [-S]
-L 只尝试登录一次
-S 隐藏模式,隐藏<SQL>标识符
<logon> 为: {<username>[/<password>][*<MPP_TYPE>][@<connect_identifier>] | /} [AS <SYSDBA|SYSSSO|SYSAUDITOR|AUTO>]
<connect_identifier>为{[<SERVER>][:<PORT>][?{UDP|TCP|IPC|RDMA}][#<sslpath>][@<sslpwd>]}
v6ַҪָIPv6,[fe80::1e6f:65ff:fed1:3724%6]
<start> : `<filename>[<parameter> ...]<direct sql> 运行disql脚本
/NOLOG 选项能在未登录DM服务器的情况下启动disql
<direct sql>:-e "<SQL语句>[;<SQL语句>]"
- disql username/password@ip:port
这种方式是最常用的连接方式,指定用户名密码,并且通过哪台机器登陆,即可以是ip也可以是主机名,以及数据库服务的端口号。
注:主机名需要提前做解析
示例 1:
通过本地服务器登陆默认的5236端口,可以通过以下任意一种方式都可以登陆:
disql sysdba/SYSDBA@localhost:5236
disql sysdba/SYSDBA
disql sysdba/SYSDBA@localhost
disql sysdba/SYSDBA@192.168.6.201:5236
示例 2:
配置客户端别名登陆,编辑/etc/dm_svc.conf文件:
[dmdba@enmoedu ~]$ cat /etc/dm_svc.conf
enmoedu=(192.168.6.201:5236)
TIME_ZONE=(480)
LANGUAGE=(cn)
[dmdba@enmoedu ~]$ disql sysdba/SYSDBA@enmoedu
示例 3:
连接时执行命令:
disql sysdba/SYSDBA -e 'select status$ from v$instance'
口令的格式
如果用户的口令中含有单引号时,需要用双引号引起来。
如果用户的口令中含有双引号时,需要对双引号进行转义。
示例:
口令为:enmo’edu1
中间有单引号,需要用双引号引起来
alter user test identified by "enmo'edu1";
操作已执行
conn test/"enmo'edu1"
口令为:enmo"edu1
需要用双引号来对中间的双引号转义:
alter user test identified by "enmo""edu1";
操作已执行
conn test/"enmo""edu1"
口令为:enmo/eduate
需要用双引号引起来
alter user test identified by "enmo/eduate";
conn test/"enmo/eduate"
口令为:enmo\eduate
alter user test identified by "enmo\edu1";
操作已执行
conn test/"enmo\edu1"
口令为:enmo’$edu1
alter user test identified by "enmo'$edu1";
操作已执行
conn test/"enmo'$edu1"
口令为:enmo’/eduate
alter user test identified by "enmo'/eduate";
操作已执行
conn test/"enmo'/eduate"
最后修改时间:2020-04-23 15:05:22
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




