DIsql 是 DM 数据库的一个命令行客户端工具,用来与 DM 数据库服务器进行交互。
DIsql 识别用户输入,将用户输入的 SQL 语句打包发送给 DM 数据库服务器执行,并接收服务器的执行结果,并按用户的要求将执行结果展示给用户。为了更好地与用户交互和展示执行结果,用户也可以在 DIsql 中执行 DIsql 命令,这些命令由 DIsql 工具自身进行处理,不被发送给数据库服务器。
SQL 语句在 DIsql 中执行完后都被保存在一个特定的内存区域中,用户可以通过上下键查找到这些保存在内存中的 SQL 语句,并可以进行修改,然后再次执行。DIsql 命令执行完后不保存在内存区域中。
1 在 WINDOWS系统中动启动 DIsql
WINDOWS 环境下,有两种启动 DIsql 的方式。第一种是启动安装软件后生成的程序菜单,第二种是启动安装目录下自带的 DIsql 工具。
1.1 程序菜单启动
如果在 WINDOWS 环境中安装了 DM 数据库产品,那么可以在应用菜单中找到SQL交互式查询工具,直接双击即可启动。然后使用 LOGIN 或 CONN 命令登录到指定数据库。
1.2.1自带 DIsql 工具启动
DIsql 工具位于 DM 数据库安装目录的 bin 子目录下,例如 DM 数据库的安装目录为D:\dmdbms,则 DIsql 位于 D:\dmdbms\bin\DIsql.exe。双击启动,然后输入用户名、密码,就可登录到本地 DM 数据库实例。
1.2.2命令行启动 DIsql
命令行启动 DIsql 适用于任何操作系统平台。下面以 WINDOWS 系统为例。
命令行启动
从命令行启动 DIsql 并登录到数据库。在命令行工具中找到 DIsql 所在安目录D:\dmdbms\bin,输入 DIsql 和登录方式后回车。
DIsql 登录方式
DISQL 用法 1:disql –h|help 显示 disql 版本信息和帮助信息
DISQL 用法 2:disql[ [<option>] [<logon> | /NOLOG] [<start>] ]
<option>::=-S|-L
<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 语句>}”
文中语法符号规定:
<> 内的内容是必选项;
[] 内的内容是可选项;
{} 内的内容可以出现一次或多次
| 为或者;
::= 为定义符。后文语法用法与此相同。
<password>中特殊字符的处理方法,不同操作系统,处理方法不同,详情参见《DISQL手册》
2、切换登陆
用户进入 DIsql 界面后,如果想切换到其他 DM 数据库实例。有两种实现方式:一是使用 LOGIN 命令;二是使用 CONN 命令。登录到远程数据库,必须在服务名处使用 IP 地址或网络服务名。
2.1LOGIN/LOGOUT
1.LOGIN 登录 主库
直接输入 LOGIN 命令后,屏幕会提示输入登录信息。
2. LOGOUT 从登录主库注销会话
LOGOUT 命令从登录主库注销会话。断开连接而不退出 DIsql。
2.2CONN[ECT] /DISCONN[ECT]
1.CONN[ECT] 连接(使用 CONN[ECT] 命令建立新会话时,会自动断开先前会话 。)
与login大致相同,不同之处在于conn后可直接加<username>[/<password>][*<MPP_TYPE>] [@<server>],或者跟<username>,然后按照 DIsql 提示输入<password>来连接。
语法如下 :
CONN[ECT] <logon>
<logon>::={<username>[/<password>][*<MPP_TYPE>][@<connect_identifier>]}|
{/ AS <SYSDBA|SYSSSO|SYSAUDITOR|AUTO>}
<connect_identifier>::=[<server>][:<port>][?{UDP|TCP|IPC|RDMA}][#<sslpath>][@
<sslpwd>]
<password>:密码。如果密码中有特殊字符,需要特别处理。特殊字符指密码串中含有的关键字符(/@:#*[]) 或双引号"。
{/AS <SYSDBA|SYSSSO|SYSAUDITOR|AUTO>}:使用不同的管理员账号进行本地登录,
指定 AUTO 会进行自动匹配相应的管理员。
如:conn SYSDBA/[email protected]:5237
2. DISCONN[ECT] 断开连接
DISCONN[ECT]:断开连接而不退出 DIsql。与 logout 功能一样。