达梦数据库shell脚本怎么获取查询语句结果集

达梦数据库shell脚本怎么获取查询语句结果集,第1张

方式一
当然是windows电脑安装达梦管理工具,直接把脚本贴进去执行,但避免不了出现误 *** 作
在这里插入描述
方式二
使用shell脚本执行sql
1 先找到达梦数据安装位置吧
[root@localhost ~]# ss -nlp |grep 5236
tcp LISTEN 0 128 [::]:5236 [::]: users:(("dmserver",pid=103380,fd=4))
[root@localhost ~]# ps -ef|grep dmserver
root 85093 66993 0 17:56 pts/6 00:00:00 grep --color=auto dmserver
dmdba 103380 1 8 13:36 00:23:18 /home/dmdba/dmdbms/bin/dmserver /home/dmdba/dmdbms/data/DAMENG_JW/dmini -noconsole
1
2
3
4
5
1
2
3
4
5
2 直接在linux上执行shell命令执行sql脚本
21 # disql username/password:port
使用这个命令可以进入sql控制台
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5524(ms)
disql V8
SQL>
进入SQL>后:
直接输入sql语句,使用英文分号结尾,回车执行。
使用“`sql文件路径”,可以执行sql脚本文件,注意前面有一个小撇(esc和tab中间的键)
使用“start sql文件路径”,可以执行sql脚本文件。
22 # disql username/password:port `sql文件位置
使用这个命令可以执行sql脚本
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236 \`sql/testsql
[root@localhost sql]#
1
2
1
2
但需注意
这个脚本执行完sql会停留在sql执行行,如需执行完返回到shell命令行,则需要在sql文件结尾添加:exit; 。
这个shell语句不能用start执行sql文件,只能使用“`”,并且前面需要添加转义字符“\”。
23 达梦sql脚本注意事项
目前发现-创建schema语句以及执行过程结尾,都需要添加“/”结束
例如执行以下语句,回车执行,一直在输出数字,直到输入“/”,再回车执行,才执行成功。
[root@localhost sql]# /home/dmdba/dmdbms/bin/disql cpuser/cpuser123:5236
服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 6121(ms)
disql V8
SQL> create schema test;
2
3 /
*** 作已执行
已用时间: 26698(毫秒) 执行号:700604
SQL>
sql脚本示例:
-- 创建schema
CREATE SCHEMA DB_ZFBA_MOBILE;
/
-- 执行过程
begin
if exists(select 1 from DBA_TAB_COLUMNS where OWNER='DB_ZFBA_MOBILE' AND TABLE_NAME='T_ZJTQD') then
EXECUTE immediate 'drop table DB_ZFBA_MOBILET_ZJTQD';
end if;
end;
/
create table DB_ZFBA_MOBILET_ZJTQD
(
"C_BH" char(32) NOT NULL, -- 主键
"C_BH_AJ" varchar2(32) NULL, -- 案件编号
……
"DT_ZHXGSJ" datetime NULL, -- 最后修改时间
constraint PK_T_ZJTQD primary key( C_BH )
);
sql文件结尾添加exit;,保证多个sql文件执行不会中断
3 编写shell脚本
注意:shell脚本一定在linux中编写,windows编写的有些语句执行不成功(目前原因未知)
例如: a=a b=b c=$a$b echo $c 在windows下编写,linux中执行完会输出b
#!/bin/bash
# 请先配置数据库连接信息,再执行此脚本
DM_PATH=/home/dmdba/dmdbms #达梦数据库的安装位置
USERNAME=cpuser #达梦数据库连接用户名
PASSWORD=cpuser123 #达梦数据库连接密码
PORT=5236 #达梦数据库连接端口号
# 下面的信息请不要随意修改
CONNECT_INFO=$USERNAME/$PASSWORD:$PORT
echo "连接信息:"$CONNECT_INFO
# STEP 1
echo "开始执行---- sql/02_创建数据库对象/00CS_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/00CS_GSYSsql >> DB_DMlog
echo "执行完成---- sql/02_创建数据库对象/00CS_GSYSsql"
# STEP 2
echo "开始执行---- sql/02_创建数据库对象/01CT_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/01CT_GSYSsql >> DB_DMlog
echo "执行完成---- sql/02_创建数据库对象/01CT_GSYSsql"
# STEP 3
echo "开始执行---- sql/02_创建数据库对象/02CC_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/02CC_GSYSsql >> DB_DMlog
echo "执行完成---- sql/02_创建数据库对象/02CC_GSYSsql"
# STEP 4
echo "开始执行---- sql/02_创建数据库对象/03CI_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/02_创建数据库对象/03CI_GSYSsql >> DB_DMlog
echo "执行完成---- sql/02_创建数据库对象/03CI_GSYSsql"
# STEP 5
echo "开始执行---- sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql >> DB_DMlog
echo "执行完成---- sql/03_初始化数据/02I_T_Aty_CodeType_GSYSsql"
# STEP 6
echo "开始执行---- sql/03_初始化数据/02I_T_Aty_Code_GSYSsql"
$DM_PATH/bin/disql $CONNECT_INFO \`sql/03_初始化数据/02I_T_Aty_Code_GSYSsql >> DB_DMlog
echo "执行完成---- sql/03_初始化数据/02I_T_Aty_Code_GSYSsql"
# Complete
echo "SQL全部执行完成---- 日志请查看DB_DMlog"
执行完成后,通过shell控制台和DB_DMlog日志可以分析sql脚本是否执行成功。

一、DM

软件名称:达梦数据库(DM)。

开发商:武汉华工达梦数据库有限公司。

软件描述:

达梦数据库具有如下技术特色:支持多个平台之间的互联互访、高效的并发控制机制、有效的查询优化策略、灵活的系统配置、支持各种故障恢复并提供多种备份和还原方式。

具有高可靠性、支持多种多媒体数据类型、提供全文检索功能、各种管理工具简单易用、各种客户端编程接口都符合国际通用标准、用户文档齐全。

二、OpenBASE

软件名称:OpenBASE。

开发商:东软集团有限公司。

软件描述:

主要包括OpenBASE多媒体数据库管理系统、OpenBASEWeb应用服务器、OpenBASEMini嵌入式数据库管理系统、OpenBASESecure安全数据库系统等产品。

所有的这些产品涵盖了企业应用、Internet/Intranet、移动计算等不同的应用领域,具有不同的应用模式。

形成了OpenBASE面向各种应用的全面的解决方案。多媒体数据库管理系统OpenBASE是OpenBASE产品系列的核心和基础,其它的产品都是在其基础上,根据各自应用领域的不同特点发展、演变而成的。

三、OSCAR

软件名称:神舟OSCAR数据库系统。

开发商:北京神舟航天软件技术有限公司。

软件描述:

神舟OSCAR数据库系统基于Client/Server架构实现,服务器具有通常数据库管理系统的一切常见功能,此外还包括一些有助于提高系统对工程数据支持的特别功能,而客户端则在提供了各种通用的应用开发接口的基础上,还具有丰富的连接、 *** 作和配置服务器端的能力。

提供与Oracle、SQLServer、DB2等主要大型商用数据库管理系统以及TXT、ODBC等标准格式之间的数据迁移工具。

四、KingbaseES

软件名称:金仓数据库管理系统KingbaseES。

开发商:北京人大金仓信息技术有限公司。

软件描述:

交互式工具ISQL;图形化的数据转换工具;多种方式的数据备份与恢复;提供作业调度工具;方便的用户管理;支持事务处理;支持各种数据类型;提供各种 *** 作函数;提供完整性约束;支持视图;支持存储过程/函数;支持触发器。

五、iBASE

软件名称:iBASE。

开发商:北京国信贝斯软件有限公司。

软件描述:

包括五个部分:iBASEReliaxServer全文检索服务器。

iBASEWeb网上资源管理与发布系统。

iBASEIndexSystem文文件管理与发布系统。

iBASEWebrobot网络资源采编发系统。

iBASEDMC数据库管理中心。

扩展资料:

国产最新商业数据库系统:

一、阿里的数据库系统

软件名称:OceanBase&PolarDB

官方称为“完全自主研发的金融级分布式关系数据库”。下面是其官网的介绍:OceanBase对传统的关系数据库进行了开创性的革新。

在普通硬件上实现金融级高可用,在金融行业首创“三地五中心”城市级故障自动无损容灾新标准,同时具备在线水平扩展能力,创造了4200万次/秒处理峰值的纪录(注:当时TPS官宣为256w)。

现在OceanBase的版本已经2x了,OceanBaseTPC-C的评测刷遍了朋友圈,TPS达到了100w(6088wtpmc),榜单第一。

二、腾讯的数据库系统

软件名称:TDSQL

其官网简介:分布式数据库(TencentDistributedSQL,TDSQL)是腾讯打造的一款分布式数据库产品,具备强一致高可用、全球部署架构、分布式水平扩展、高性能、企业级安全等特性。

同时提供智能DBA、自动化运营、监控告警等配套设施,为用户提供完整的分布式数据库解决方案。

目前TDSQL已经为超过500的政企和金融机构提供数据库的公有云及私有云服务,客户覆盖银行、保险、证券、互联网金融、计费、第三方支付、物联网、互联网、政务等领域。TDSQL亦凭借其高质量的产品及服务,获得了多项国际和国家认证,得到了客户及行业的一致认可。

三、华为的数据库系统

软件名称:GaussDB

全球首款AI-Native数据库,内部有100、200、300多个版本,应该是基于PostgreSQL开发的。在国内,可能除了阿里,就到华为的团队了(高斯实验室)。和不少高校建立了合作。

在达梦数据库中,Timestamp类型的数据是不带时区信息的,即不考虑时区的影响。在存储Timestamp类型的数据时,达梦数据库会将其转换为UTC时间(协调世界时),因此不会受到本地时区的影响。 需要注意的是,虽然Timestamp类型不带时区信息,但在数据库服务器和客户端之间传输数据时,可能会受到时区设置的影响。例如,在使用JDBC驱动程序连接达梦数据库时,可以使用setTimestamp()方法设置Timestamp类型的数据,该方法接受一个javasqlTimestamp对象作为参数。如果该Timestamp对象带有时区信息,则JDBC驱动程序会将其转换为UTC时间,并存储到达梦数据库中,因此最终的存储结果可能会受到时区设置的影响。 因此,在使用达梦数据库存储Timestamp类型数据时,应该注意时区的设置问题,避免数据存储结果的不一致。建议使用标准的UTC时间格式存储Timestamp数据,并在需要时进行时区转换。

~
关注
达梦数据库常见报错及解决办法 原创
2021-09-13 16:53:28

果味怪叔叔~ 
码龄3年
关注
在达梦数据库的日常使用中我们可能会遇到很多问题,今天我将自己近期常遇到的错误进行总结汇总。
1、连接数据库报错:网络通信异常
解决方法:
数据库连接报网络通信异常原因通常只有两个,数据库服务启动异常或者数据库服务器网络通信异常
1 登录数据库服务器检查数据库进程是否存在ps –ef|grep dmserver
2 检查数据库服务器网络通信ping数据库服务器地址
3 检查数据库服务器数据库端口号通信是否正常telnet数据库服务器ip数据库端口号
2、数据库启动报错:dmserver startup failed, code = -104 [Invalid INI file]
解决方法:
数据库正常启动需要有数据文件,该类报错一般存在如下两方面原因:
1)数据文件不存在;
2)启动数据库的用户没有读写数据文件的权限。
3、数据库连接报错:用户名或密码错误
解决方法:
此类错误只需输入正确的密码即可。
如果忘记密码,以管理员登录数据库后修改该用户的密码:
alter user USERNAME identified by “PASSWD”
前面的USERNAME是用户名,后面的PASSWD是密码。
需要注意用户名不区分大小写,密码区分大小写。
4、登录数据库时报错“用户已被锁”
解决方法:
使用SYSDBA登录到数据库后,鼠标右键在对应“登录”名上单击“解锁”,此时“登录名”上的小锁符号消失;
或使用SYSDBA登录后手动调用存储过程call SP_UNLOCK_LOGIN(‘登录名‘)解锁;
通常是用户多次尝试登录但密码错误导致,有时候应用系统配置了数据库连接池,应用启动时初始化连接池会多次连接数据库,如用户名密码不对,则很快就会锁住该用户。
5、执行update,insert,delete语句完成后程序或其他数据库连接查不到改变后的数据
解决方法:
造成此类现象的原因单条sql或者sql脚本执行完上述语句后没有进行commit *** 作导致。
数据库的执行单元是事务,事务如果没有commit或者rollback,仍处于未完成状态,根据事物ACID特性中的隔离性,其他数据库连接无法看到未完成的数据库事务对数据的改变
6、数据库语句长时间不能执行完成,类似卡住的状态
解决方法:
1)对于select等查询语句,需要对sql语句进行分析优化,提升查询效率
2)update,insert,delete语句执行慢可能的原因为数据库阻塞导致,需要查找出导致阻塞的语句,并对语句进行处理
7、执行语句报错“字符串截断”
解决方法:
修改的数据,超过了数据库中字符类型(VARCHAR,CHAR)定义的长度,如VARCHAR(64),插入的数据字节长度超过64就会报错
8、执行语句报错“数据溢出”
解决方法:
修改的数据,超过了数据库中数值类型(int,number,decimal)定义的长度,如decimal(6,2),插入1000000,插入的数据超过定义的范围就会报错。
9、执行语句报错 “不能修改或删除聚集索引的列”或“试图删除聚集主键”
解决方法:
若想对有聚聚索引的列进行修改,可以重建表,或者重新在别的列上建立一个聚集索引。该列上的索引就变成非聚集了,就可以修改了。
很多时候是因为创建表时指定的主键被自动创建为聚集索引了,可以修改ini参数,将PK_WITH_CLUSTER设为0,则默认创建主键时为非聚集型。

LOGIN/LOGOUT命令登录/退出远程数据库。
1、首先本地通过在安装目录bin下disql命令连接本地数据库。
2、其次用LOGIN/LOGOUT命令登录远程数据库。
3、最后通过disql后再字符界面支持sql、脚本运行即可。
远程连接控制软件是一款随时随地连接到远程桌面电脑、移动设备及Iot,让远程连接过程更加的快速和安全,轻松实现对文件、网络及程序的实时支持或访问。

1、达梦数据库:

开发商:武汉华工达梦数据库有限公司。

软件描述:支持多个平台之间的互联互访、高效的并发控制机制、有效的查询优化策略、灵活的系统配置、支持各种故障恢复并提供多种备份和还原方式,具有高可靠性、支持多种多媒体数据类型、提供全文检索功能、各种管理工具简单易用、各种客户端编程接口都符合国际通用标准、用户文档齐全;

2、神舟OSCAR数据库:

开发商:北京神舟航天软件技术有限公司。

软件描述:神舟OSCAR数据库系统基于Client或Server架构实现,服务器具有通常数据库管理系统的一切常见功能,此外还包括一些有助于提高系统对工程数据支持的特别功能,而客户端则在提供了各种通用的应用开发接口的基础上,还具有丰富的连接、 *** 作和配置服务器端的能力。

3、此外还有GBase南大通用数据库、金仓数据库、EsgynDB数据库、SequoiaDB巨杉数据库、Oceanbase数据库等。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://www.outofmemory.cn/zz/13228767.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-23
下一篇 2023-06-23

发表评论

登录后才能评论

评论列表(0条)

保存