当前位置: 首页 > article >正文

【REST2SQL】15银河麒麟系统下达梦数据库部署REST2SQL

【REST2SQL】01RDB关系型数据库REST初设计
【REST2SQL】02 GO连接Oracle数据库
【REST2SQL】03 GO读取JSON文件
【REST2SQL】04 REST2SQL第一版Oracle版实现
【REST2SQL】05 GO 操作 达梦 数据库
【REST2SQL】06 GO 跨包接口重构代码
【REST2SQL】07 GO 操作 Mysql 数据库
【REST2SQL】08 日志重构增加输出到文件log.txt
【REST2SQL】09 给Go的可执行文件exe加图标和版本信息等
【REST2SQL】10 REST2SQL操作指南
【REST2SQL】11 基于jwt-go生成token与验证
【REST2SQL】12 REST2SQL增加Token生成和验证
【REST2SQL】13 用户角色功能权限设计
【REST2SQL】14 基于角色的数据权限设计与实现


0 部署环境

0.1 硬件DELL笔记本电脑

设备规格 Inspiron 7590
处理器	Intel(R) Core(TM) i7-9750H CPU @ 2.60GHz   2.59 GHz
机带 RAM	32.0 GB (31.8 GB 可用)
系统类型	64 位操作系统, 基于 x64 的处理器

Windows 规格
版本	Windows 10 家庭中文版
版本号	22H2
安装日期	‎2021-04-22
操作系统内部版本	19045.5487
体验	Windows Feature Experience Pack 1000.19061.1000.0

0.2 VMware 虚拟机

在这里插入图片描述
虚拟机的下载、安装、使用略去5217字。

0.3 银河麒麟V10桌面操作系统

在这里插入图片描述
银河麒麟V10操作系统需要申请才能下载,分不同芯片组有很多版本,嫌申请麻烦可以下载社区版 https://www.openkylin.top/downloads/ 社区版有很多镜像下载站点。
安装还是挺简单快捷的。
关于银河麒麟操作系统的使用略去5217字

0.4 达梦数据库V8

在这里插入图片描述
达梦数据库的下载也需要申请,不同芯片组、操作系统安装包不同。 https://www.dameng.com/DM8.html
关于达梦数据库的安装、使用略去5217字。
达梦数据库安装后,没有自动加到银河麒麟操作系统的开始菜单里,主要自己手动添加,创建【达梦.Desktop】的文件如下:

[Desktop Entry]
Encoding=UTF-8
Name=达梦管理
Exec=sh /home/blma/dmdbms/tool/manager
Icon=/home/dxsoft/Downloads/smartgit/bin/test-64.png
Info="Spark"
Terminal=false
Type=Application
StartupNotify=true

此文件放到桌面( 桌面目录通常是/home/用户名/桌面 )就是桌面快捷方式,放到开始菜单目录( /usr/share/applications )就是开始菜单项。

0.5 宿主机的目录共享给虚拟机

在虚拟机设置-选项-共享文件夹启用并设置即可。
在这里插入图片描述
Linux 虚拟机:默认情况下,共享文件夹会挂载到/mnt/hgfs目录下。若该目录为空,可在终端中运行命令
sudo vmhgfs-fuse .host:/ /mnt/hgfs -o subtype=vmhgfs-fuse,allow_other
,之后就能在/mnt/hgfs目录中找到共享文件夹并操作文件。
在这里插入图片描述

0.6 虚拟机网络适配

在这里插入图片描述
在虚拟机设置-硬件-网络适配器里设置网络即可:一般选桥接模式或NAT模式。
桥接模式:和宿主机在同一网段分配虚拟机一个IP地址
NAT模式:和宿主机在不同网段分配一个IP地址
注意如何想外部访问虚拟机需要关闭麒麟操作系统的防火墙。
查询虚拟机的IP地址可以在终端输入 ip addr

在这里插入图片描述

1 编译REST2SQL

编译REST2SQL在银河麒麟操作系统下的可执行程序。我用的开发及编译工具为 LiteIDE。可以在windows 10下交叉编译银河麒麟系统的可执行代码。
在这里插入图片描述

1.1 编译环境设置

LiteIDE的菜单【工具】-【选择环境】-Cross-linux64

# cross-compiler linux amd64

GOROOT=D:\NewThing\Go
#GOBIN=
GOARCH=amd64
GOOS=linux
CGO_ENABLED=0

PATH=c:\mingw64\bin;%GOROOT%\bin;%PATH%

LITEIDE_GDB=gdb
LITEIDE_MAKE=mingw32-make
LITEIDE_TERM=%COMSPEC%
LITEIDE_TERMARGS=
LITEIDE_EXEC=%COMSPEC%
LITEIDE_EXECOPT=/C

主要修改go语言的安装跟目录 GOROOT 和 路径 PATH 其它的不用改。

1.2 编译

LiteIDE的菜单【编辑】-【Build】即可。编辑输出

D:/NewThing/Go/bin/go.exe build [D:/NewThing/GoGoGo/src/rest2sql]
成功: 进程退出代码 0.

编译成功后,在系统目录下生成一个 rest2sql的文件就是银河麒麟操作系统下的可执行文件。
在这里插入图片描述

2 复制

  1. 复制编译后的可执行文件rest2sql和配置文件config.json到宿主机的共享目录。
    在这里插入图片描述
  2. 从宿主机复制到银河麒麟帐户的一个工作目录
    在这里插入图片描述

3 启动REST2SQL服务

3.1 配置config.json文件

主要配置 hostPort 、connString、AccessControlAllowOrigin、openToken四项。
hostPort :REST服务的地址和端口
connString :达梦数据库的连接字符串
AccessControlAllowOrigin :前端网页的入口地址和端口
openToken :REST服务是否需要Token,测试后台服务时设置为 false
网页访问时设置为 true

{
	"hostPort":"192.168.241.129:5217",
	"_hostPort_amis":"127.0.0.1:5217",
	"_hostPort_Json2Web":"192.168.1.108:5217",

	"connString":"dm://PTPS:dameng5217@127.0.0.1:5236/PTPS",
	"_oracle":"oracle://blma:5217@127.0.0.1:1521/CQYH",
	"_dm":"dm://BLMA:dameng5217@127.0.0.1:5236/BLMA",
	"_mysql":"mysql://blma:5217@(127.0.0.1:3306)/blma",
	"_mssql":"mssql://",
	"_postgresql":"postgresql://",
	
	"REST":"GET,POST,PUT,DELETE,OPTIONS", 
	"_REST":"GET,POST,PUT,DELETE", 

	"SQL":"SELECT,INSERT,UPDATE,DELETE",
	"_SQL":"SELECT,INSERT,UPDATE,DELETE",
	
	"AccessControlAllowOrigin":"http://192.168.241.129:3000",
	"_AccessControlAllowOrigin_vscode":"http://127.0.0.1:5500",
	"_AccessControlAllowOrigin_amis":"http://localhost:81",
	"_AccessControlAllowOrigin_Json2web":"http://192.168.1.116:3000",
	
	"openToken":false,
	"_openToken":true	
}

3.2 启动REST2SQL服务

双击 rest2sql 文件,【在终端运行】

在这里插入图片描述
服务启动成功截图如下:
在这里插入图片描述

4 调用REST2SQL服务

  1. 在浏览器输入如下地址:
http://192.168.241.129:5217/rest/pt_rules
  1. 浏览器返回数据:

在这里插入图片描述

{
  "data": {
    "rows": [
      {
        "F_DWEI": "方",
        "S_KEY": "C0010",
        "S_NAME": "空罐上限",
        "S_NOTE": "1000",
        "S_VALUE": "1000"
      },
      {
        "F_DWEI": "吨",
        "S_KEY": "C0020",
        "S_NAME": "管输需求上限",
        "S_NOTE": "7000",
        "S_VALUE": "70000"
      },
      {
        "F_DWEI": "吨",
        "S_KEY": "C0030",
        "S_NAME": "管输需求下限",
        "S_NOTE": "20000",
        "S_VALUE": "20000"
      },
      {
        "F_DWEI": "方",
        "S_KEY": "C0040",
        "S_NAME": "需求匹配误差",
        "S_NOTE": "5000",
        "S_VALUE": "5000"
      },
      {
        "F_DWEI": "方",
        "S_KEY": "C0050",
        "S_NAME": "企业匹配误差",
        "S_NOTE": "10000",
        "S_VALUE": "10000"
      },
      {
        "F_DWEI": "方",
        "S_KEY": "C0060",
        "S_NAME": "罐容下限",
        "S_NOTE": "可用罐容大于下限才进油(极限库容-安全库容)",
        "S_VALUE": "4000"
      }
    ]
  },
  "msg": "",
  "status": 0,
  "total": 6
}
  1. 终端反馈信息:
    在这里插入图片描述

本文完


http://www.kler.cn/a/563759.html

相关文章:

  • Kubernetes与Docker:区别与优劣总结
  • 【构建工具】Gradle 8中Android BuildConfig的变化与开启方法
  • Nginx面试宝典【刷题系列】
  • Python----数据分析(Numpy一:numpy库简介,与list列表的区别,数组的创建,随机数组的创建)
  • 从零到一:如何用阿里云百炼和火山引擎搭建专属 AI 助手(DeepSeek)?
  • 支持selenium的chrome driver更新到133.0.6943.126
  • AIGC生图技术剖析:文本生成图像的核心算法与创新应用
  • 音频模拟信号转数字信号的原理
  • 基于Elasticsearch的日志管理:提升运维效率的新利器
  • 2025年2月科技趋势深度解析:大模型竞赛、硬件革命与可持续AI的未来
  • 【HTML】SVG标签的使用方式
  • Kotlin 2.1.0 入门教程(二十五)类型擦除
  • sqli-
  • 本地部署 DeepSeek-R1大模型详细教程(桌面客户端美观UI)
  • 序列化是什么?常见的序列化方式有哪些?什么时候我们会用到序列化?
  • 【STM32】玩转IIC之驱动MPU6050及姿态解算
  • 解决PyCharm工程中pip版本和python中的pip版本不一致
  • 基于 spring boot+vue 的仓储管理系统 的设计与实现
  • 自然语言处理:初识自然语言处理
  • C++ 正则表达式分组捕获入门指南