达梦disql调用sql语句

达梦数据库提供disql工具,我们可以通过disql工具使用命令行方式来查询SQL并将执行结果保留在指定文件中。对于达梦数据库内置的系统视图可以在达梦管理员手册的附录二

1、使用disql执行sql脚本

配置disql全局登录

vi ~/.bash_profile#编辑dmdba用户的环境变量
#添加如下内容
export DM_HOME="/home/dmdba/dmdbms"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$DM_HOME/bin
export PATH=$PATH:$DM_HOME/bin

编辑一个sql文件,用于记录登录信息和需要执行的sql语句

vim dmtest.sql
#添加如下内容
conn TEST/123456789@LOCALHOST:5236
select * from v$instance;
exit;

使用disql的相关命令就可以完成对指定sql的查询,

disql /nolog \`dmtest.sql

2、调用disql

使用disql调用sql脚本可以完成不输入sql的情况下对指定sql进行查询,那么否有更加便捷的方法让每次的查询结果都保存在指定的文件中呢?

先写一个shell脚本,通过脚本调用disql

vim dmtest.sh
#添加以下内容
#/bin/bash
disql /nolog \`dmtest.sql

目前disql的执行都是前台显示的,让它输入到指定文件中

vim dmtest.sh
#添加以下内容
#/bin/bash
dmdate=$(date "+%Y%m%d%H%M%S")
disql /nolog \`dmtest.sql >dmtest_${dmdate}.log
#如果需要前台显示,请增加以下内容
cat dmtst_${dmdate}.log

这样我们就完成后台执行sql脚本并将执行结果写到指定文件中

3、更加优雅的使用方式

选择更加优雅的方式调用disql,并增加具体的中文解释。将查询sql的结果赋值给变量,这样就可以增加个性化的定制

#! /bin/bash
#设置dmdbms/bin全局路径
export PATH=$PATH:/home/dmdba/dmdbms/bin
export LD_LIBRARY_PATH=/home/dmdba/dmdbms/bin:$LD_LIBRARY_PATH#设置用户名和密码、端口
DB_USER=SYSDBA
DB_PASS=SYSDBA
DB_PORT=5248
dt=`date +"%Y_%m_%d_%H_%M"`
v_date=$(date)
echo 执行时间:$v_date >dmtest_${dmdate}.logdb_instance_name=$(disql -s ${DB_USER}/\"${DB_PASS}\"@LOCALHOST:${DB_PORT} <<"EOF"
SET ECHO OFF;
SET FEED OFF;
SET HEA OFF;
SET LINESHOW OFF;
SET NEWP 0;
SET PAGES 0;
SET TIMING OFF;
select INSTANCE_NAME from v$instance;
exit
EOF
)
echo 数据库实例名:$db_instance_name >dmtest_${dmdate}.log
cat dmtest_${dmdate}.log

运行结果,获取数据的实例名

disql的环境变量详细说明见达梦disql手册。

更多资讯请上达梦技术社区了解: https://eco.dameng.com

达梦数据库-disql之SQL脚本使用相关推荐

  1. 达梦数据库DM8导出sql脚本

    1 使用工具 DM数据迁移工具. 官网下载地址:产品下载 | 达梦数据库 2 导出sql脚本 1. 打开DM数据迁移工具,如下图,点击[新建工程] 2. 填写工程名,点击[确定] 3. 右击[迁移]- ...

  2. 达梦数据库disql工具使用

    达梦数据库disql工具类似于Oracle的sqlplus工具,使用方法上也比较相近. disql工具用法 ./disql help查看disql命令行工具使用 [dmdba@localhost bi ...

  3. 达梦数据库-disql方式连接数据库

    disql 是 DM 数据库自带的一个命令行客户端工具,可实现命令行方式连接达梦数据库进行交互. 问题:如果 disql 使用时 报错 [damdab@test]$ dsiql -bash: disq ...

  4. 达梦数据库DM8常用SQL函数

    在DM_SQL中支持数值.字符.日期.转换等种类的函数来满足用户不同的需求. 通过查询V$ifun和V$ifun_arg可以得到数据库提供的所有的函数以及其对应的参数要求. select a.NAME ...

  5. 达梦数据库disql常用语句(一)

    文章目录 前言 常用命令 脚本 总结 前言 本文主要介绍如何使用DM的命令行交互式工具DIsql,以及它作为数据库访问工具所提供的功能. 常用命令 disql登录 进入安装的bin目录登录如下 ./d ...

  6. DM达梦数据库DIsql入门学习

    DIsql 是 DM 数据库的一个命令行客户端工具,用来与 DM 数据库服务器进行交互.DIsql 是 DM 数据库自带的工具,只要安装了 DM 数据库,就可以在应用菜单和安装目录中找到. 这里主要介 ...

  7. dockers达梦镜像启动执行sql脚本

    可以在启动 Docker 达梦镜像时指定执行 SQL 脚本的命令. 具体操作如下: 将 SQL 脚本文件保存到本地,例如文件名为 "script.sql". 在启动 Docker ...

  8. 达梦数据库的DMAP服务脚本误删怎么恢复

    在/etc/init.d目录下删除数据库实例的服务脚本DmServiceTEST时,不小心将数据库的dmap服务脚本DmAPService也删除了,恢复的方法如下: 一).在数据库的bin目录本来就有 ...

  9. 达梦数据库导出为SQL文件

    打开DM数据迁移工具 点击新建工程 点击新建迁移 点击下一步 选择DM ==> SQL,点击下一步 填写数据库连接信息,点击下一步 指定导出路径,选择文件编码,选择迁移选项,点击下一步 选择要导 ...

最新文章

  1. 专访盖茨:我的梦想是实现生命价值平等[转]
  2. 有关css和js针对不同浏览器兼容的问题
  3. Python教程:对 a = [lambda : x for x in range(3)] 的理解
  4. python生成静态html_Python写静态HTML
  5. express rest_Express / Node中用于REST API的邮递员工具
  6. rem适配的浏览器_移动端网页布局适配rem方案小结
  7. iOS开发经验总结—内存管理
  8. cpu 指定cpu执行 java_java程序可以实现在指定CPU上运行吗?
  9. 完全使用linux工作 pdf下载,完全用Linux工作-计算机.pdf
  10. pytorch分布式报错 “tensor must be non-overlapping and dense“
  11. iOS开发tableview的几种刷新,指定刷新,全局刷新,刷新的动画
  12. MapReduce实战(三)分区的实现
  13. Vue知识点笔记(基础篇)
  14. Matlab下载 安装 与 和谐教程
  15. pdf表格怎么转换成excel?
  16. 爬虫英雄联盟官网的全英雄介绍和技能介绍
  17. 埃拉托色尼筛选法计算素数个数
  18. 微信 for Windows 内测3.3.0版本,能刷朋友圈啦!
  19. 股票软件定制将成为券商下一个核心竞争力
  20. 中国将在 Sailfish 基础上开发移动操作系统

热门文章

  1. 街头篮球最近无法进入游戏解决方法(转)
  2. python AttributeError: ‘Colorbar‘ object has no attribute ‘set_clim‘
  3. 【Matlab优化选址】蚁群算法求解电动汽车充电站与换电站选址优化问题【含源码 1182期】
  4. 机器学习中你不得不知道的数学符号表示
  5. Java怪异语法_诡异的Java匿名内部类写法
  6. Linux 网络配置方法 nmtui 配置
  7. 查看操作系统安装时间的方法
  8. 2007年十二星座运势
  9. 图解B树的原理及操作
  10. matlab条件语句和for循环匿名函数