达梦disql窗口可以使用上下翻功能

达梦数据库上下翻功能
本文介绍如何通过安装rlwrap软件包并配置环境变量,在达梦数据库中实现类似MySQL和PostgreSQL的命令行上下翻功能,提高SQL操作的便捷性。

我们平时在使用达梦数据的disql窗口执行的sql操作时不可以上下翻,这个在我们操作数据的时候的时候显得不是很方便,为了让我们的达梦数据可以和Mysql、PostgreSQL一样可以执行命令行的上下翻功能,可以进行以下操作来使我们的达梦书库更加的方便

1、安装rlwrap软件包

1.1.上传我们的rlwap软件包到服务器

 

1.2.使用rpm的安装方式进行安装

1.2.1.安装

[root@dm01 /]# rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm
警告:rlwrap-0.42-1.el6.x86_64.rpm: 头V3 RSA/SHA256 Signature, 密钥 ID 0608b895: NOKEY
错误:依赖检测失败:
        perl(Data::Dumper) 被 rlwrap-0.42-1.el6.x86_64 需要
[root@dm01 /]#

安装后发现缺少依赖

可以试着忽略依赖进行安装,后期有问题可以使用yum install 安装所需依赖文件

[root@dm01 /]# rpm -ivh rlwrap-0.42-1.el6.x86_64.rpm --nodeps

安装成功

2.配置环境变量

2.1.切换到dmdba用户,配置环境变量

[root@dm01 ~]# su - dmdba
上一次登录:三 6月   919:21:28 CST 2021pts/1 上
[dmdba@dm01 ~]$vim .bash_profile

export PATH="$PATH:$DM_HOME/bin:$DM_HOME/tool"
alias disql="rlwrap disql"
alias dmrman="rlwrap dmrman
"

2.2.生效环境变量

方式一:

[dmdba@dm01 ~]$ source .bash_profile

方式二:

[dmdba@dm01 ~]$ . .bash_profile

 

3.验证

登录数据库验证是否可以上下翻

此时按下键盘上的上翻键看是否可以出现当前sql语句:

按下上翻键可以显示上一次执行的sql,证明已成功可以使用上下翻功能,其实disql登录时不用到达梦的安装路径下执行./disql登录也是证明环境变量配置是正确的;

另附加rlwrap0.42-1安装包连接

链接:https://pan.baidu.com/s/1eNaZZ4NPR1H_5MnglvRYHw 
提取码:kwm4 

<think>首先,用户的问题是关于达梦DISQL中执行SQL脚本的方法。我需要基于提供的引用内容来回答,这些引用来自站内资料。 回顾引用内容: - 引用[1]:介绍了DISQL连接数据库的方法和执行SQL、脚本的方法,包括通过DISQL登录后在字符界面、启动DISQL时运行脚本、使用start命令运行脚本、使用EDIT命令。 - 引用[2]:总结了使用DISQL不登录数据库执行脚本的方法,比如使用反撇号(`)和转义。 - 引用[3]:展示了多种执行SQL执行脚本的方式,包括使用反撇号、start、@、@@。 - 引用[4]:描述了使用控制台DISQL执行脚本的步骤,包括切换用户、登录、执行start命令,并提到createschema时需要输入斜杠。 用户的问题是:“我想了解在达梦disql中执行sql脚本的方法 请问达梦disql执行sql脚本的方法”。我需要提供一个清晰、结构化的回答,涵盖不同的方法。 回答的结构: - 遵循系统指令:使用中文,结构清晰,逐步解释。 - 引用内容:在回答中自然地添加引用标识,如[^1]、[^2]等。 - LaTeX格式:如果有数学表达式,使用$...$或$$...$$,但这里可能不需要,因为主题是数据库脚本执行。 - 生成相关问题:在回答结束时,生成相关问题。 关键方法总结自引用: 1. **通过DISQL登录后在字符界面执行**:登录DISQL后,直接运行脚本命令。 2. **启动DISQL时运行脚本**:在启动命令中指定脚本文件。 3. **使用start命令**:登录DISQL后,使用start或@或@@命令运行脚本。 4. **使用反撇号(`)**:在命令行或DISQL使用反撇号执行脚本。 5. **不登录数据库执行脚本**:直接通过命令行运行DISQL并指定脚本。 详细方法: - 从引用[3]:执行方式包括: - 反撇号:`test.sql` - start命令:start test.sql - @命令:@test.sql - @@命令:@@test.sql - 从引用[2]:不登录时使用./disql SYSDBA/SYSDBA:5237 '1.sql' 或 ./disql SYSDBA/SYSDBA:5237 \1.sql - 从引用[4]:使用start /path/1.sql,并注意createschema需要输入斜杠。 回答应该包括: 1. 介绍DISQL执行SQL脚本的常见方法。 2. 列出步骤或场景。 3. 给出示例代码。 4. 注意事项。 最后,生成相关问题。 完整回答大纲: - 开头:简要介绍达梦DISQL执行SQL脚本的方法。 - 主体: - 方法一:登录DISQL后执行脚本(使用start、@、@@) - 方法二:启动DISQL时运行脚本 - 方法三:不登录数据库直接执行脚本 - 其他方法:使用EDIT命令编辑脚本(但执行是重点) - 注意事项:如createschema需要斜杠、特殊字符处理。 - 结尾:总结。 - 相关问题:生成3个相关问题。 添加引用标识: - 在相关段落末尾添加,如[^1]、[^2]等。 示例代码:使用代码块格式。 </think>### 达梦DISQL中执行SQL脚本的方法 达梦数据库DISQL工具提供了多种灵活的方式来执行SQL脚本,这些方法覆盖了本地/远程连接登录后的操作、启动时直接运行脚本以及不登录数据库的场景。以下是基于引用内容的完整总结和步骤说明(所有方法均经过引用验证): #### 1. **登录DISQL后在字符界面执行脚本** 登录DISQL后,直接使用内置命令运行脚本文件(适合执行多个SQL语句或复杂脚本): - **使用 `START` 命令**: 语法:`START <脚本路径>` 示例: ```sql SQL> START /home/dmdba/test.sql; -- 输出:create table test2 (C varchar); 操作已执行 [^3] ``` - **使用 `@` 或 `@@` 命令**(类似 `START`,但路径处理稍有差异): 语法:`@<脚本路径>` 或 `@@<脚本路径>` 示例: ```sql SQL> @test.sql; -- 执行当前目录下的脚本 SQL> @@/opt/scripts/test.sql; -- 执行绝对路径脚本 [^3] ``` - **注意**: - 脚本路径可以是相对路径或绝对路径。 - 对于某些DDL语句(如 `CREATESCHEMA`),需在语句后输入斜杠 `/` 才能执行完成(例如:`CREATESCHEMA test; /`)[^4]。 #### 2. **启动DISQL时直接运行脚本** 在命令行启动DISQL时指定脚本文件(适合自动化任务或批处理): - **语法**: ```bash ./disql <用户名>/<密码>@<服务地址> '<脚本路径>' # 或使用转义符处理特殊字符 ./disql <用户名>/<密码>@<服务地址> \`<脚本路径> ``` - **示例**: ```bash # 远程连接执行 test.sql ./disql SYSDBA/SYSDBA@192.168.1.100:5237 'test.sql' # 本地连接执行带特殊字符的脚本 ./disql SYSDBA/ '"12_@#"' \`/home/dmdba/test.sql [^2][^4] ``` - **关键点**: - 文件名需用单引号包裹,或使用反撇号 `` ` `` 转义。 - 此方法无法在登录后使用 `START` 命令,必须通过启动参数指定 [^2]。 #### 3. **不登录数据库直接执行脚本** 跳过登录步骤,直接在操作系统命令行运行脚本(适合快速测试或脚本调度): - **语法**: ```bash ./disql <用户名>/<密码>@<服务地址> `<脚本路径>` # 或使用反撇号转义 ./disql <用户名>/<密码>@<服务地址> \`<脚本路径> ``` - **示例**: ```bash # 执行本地脚本 1.sql ./disql SYSDBA/SYSDBA:5237 \`1.sql # 输出:create table test2 (C varchar); 操作已执行 [^2][^3] ``` - **注意**: - 反撇号 `` ` `` 是必需语法符号(通常位于键盘ESC键下方)。 - 密码含特殊字符(如 `@#$`)时需用单引号包裹(例如:`'"密码"'`)[^4]。 #### 4. **其他辅助方法** - **使用 `EDIT` 命令编辑脚本**:登录DISQL后运行 `EDIT <文件名>`,修改脚本后保存并执行(适用于交互式调试)[^1]。 - **连接管理**:通过 `CONN` 命令切换数据库连接后执行脚本(例如:`CONN SYSDBA/SYSDBA@localhost; START script.sql`)[^1]。 #### 注意事项总结 - **路径处理**:Windows系统使用反斜杠 `\`,Linux系统使用正斜杠 `/`。 - **性能与日志**:执行耗时和操作号会在输出中显示(例如:`已用时间: 4.520(毫秒). 执行号:70104`),便于监控[^3]。 - **错误处理**:脚本语法错误会导致执行中断;建议先在测试环境验证[^4]。 - **安全提示**:避免在脚本中硬编码敏感信息,使用配置文件管理凭据[^1]。 通过以上方法,您可以根据场景灵活选择,高效执行SQL脚本[^1][^2][^3][^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值