首先,必须强调的一点是达梦数据库确实是具有自主知识产权的国产数据库。
To 那些连达梦数据库安装软件都没见到过而乱喷的朋友们:
达梦数据库与国外Oracle比起来确实没有什么优势,达梦数据库确实存在很多问题,但是,达梦在发展,努力改进产品,努力缩小与国外产品的优势,至少达梦是国产基础软件中敢站出来在市场上竞争的。
朋友们,你们一边用着国内外的盗版软件,一边喷国产软件烂,难道你们就没有一丢丢的内疚?软件的成长不是靠软件厂商的努力,也需要用户的配合,为什么提到国产基础软件,你们就想喷?有多少人真正实打实的用过,评估过?
国产基础软件承载了国家的期望,国家给予了一定的支持,你们就说成骗钱了,这么好骗,你倒是骗出一个达梦数据库来看看。
批评可以,如果给达梦数据库指出了具体的问题,达梦一定会认证听取,努力改进,但是请在喷之前问问自己是不是有理有据
还有一点,达梦数据库现在已经走出国门了
方式一
当然是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脚本是否执行成功。
以上就是关于关于达梦数据库的 *** 作全部的内容,包括:关于达梦数据库的 *** 作、达梦数据库shell脚本怎么获取查询语句结果集、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)