【node-RED 4.0.2】连接操作 Oracle 数据库实现 增 删 改 查【新版,使用新插件:@hylink/node-red-oracle】

发布于:2024-07-17 ⋅ 阅读:(177) ⋅ 点赞:(0)

总览

上节课,我们说到,在 node-red 上链接 oracle 数据库
我们使用的插件是 node-red-contrib-agur-connector。
其实后来我发现,有一个插件更简便,并且也更好用:@hylink/node-red-oracle

在这里插入图片描述

!!!警告 !!!
如果你没有看我的上一篇博客,那么我推荐你在看此博客之前,务必阅读并操作其他必要的准备步骤。
请先观看我的这篇博客的 二、1 ~ 二、8(二、9 和之后的小节不需要看了,我们使用新插件):

【node-RED 4.0.2】连接 Oracle 数据库踩坑解决,使用模组:node-red-contrib-agur-connector

一、操作

1.温馨提示

默认你已经看了我刚才说的,我的上一篇博客。
已经配置好了环境变量、instantclient、oracleclient 配置文件、netsql.ora、listener.ora 等等。
可以继续了 ↓

2.安装 @hylink/node-red-oracle 模组节点

打开节点管理器(nodered配置窗口)

在这里插入图片描述

搜索并安装:

@hylink/node-red-oracle

在这里插入图片描述

3.配置@hylink/node-red-oracle的节点信息

先创建一个 @hylink/node-red-oracle 的节点实例(名为 oracle),然后双击编辑它

在这里插入图片描述

我们点击 “ + ”,添加一个新的 Server 配置

在这里插入图片描述

进入,然后编辑,name 随便填,自己喜欢的。

Host:填写你的服务器的外网 IP
Port:1521
Database:你的数据库的 SID
User、Passwrod:数据库的 用户账户 和 密码
Mode:一般选择 Thin 即可(Thin由java编写,兼容性加强,虽然会损失一部分性能。如果对性能要求很高,可以试一下 Thick 版本,配置方式大同小异)

在这里插入图片描述

4.创建注入节点 - 1:SQL 注入节点

随便写一句 SQL 用于查询。
在这里,我已经创建好了一个表叫 TEST,它有4个字段。
请你也选择你的数据库中的表,不要照搬全抄!

我插入的 SQL(请一定选择 msg.topic 进行发送,而且使用 String):

INSERT INTO TEST (ID, NAME, DESCRIPTION, CREATED_AT) VALUES (6655, 'TestName4', 'This is a test description 4', TO_DATE('2024-07-14', 'YYYY-MM-DD'))

在这里插入图片描述

5.创建注入节点 - 2:COMMIT(!!最重要的)

为什么要使用 COMMIT?

无论是 SQLPLUS 还是 Navicat 等软件连接 Oracle,都是直接运行 SQL 语句就好了。
然而实际上,如果你在这里这样做,那么不会报错,但数据不会被真实地插入进表中。
这是因为 SQLPLUS 和 Navicat 等软件都已经为我们设置了运行 SQL 的增删改查语句,就会自动 COMMIT。
而我们现在是手动配置模式,所以必须需要 Commit 上传确定更改。

在这里插入图片描述

6.连接你的 oracle node 和 inject node 如下:

inject_SQL 是用来发送 SQL 语句给 oracle 的
inject_COMMIT 是用来发送 COMMIT 给 oracle 的,也就是“确认”SQL语句的操作。

在这里插入图片描述

7.创建一个 HTTP response 节点如下

在这里插入图片描述

8.创建一个 Debug 节点如下

在这里插入图片描述

9.部署项目,并调右边的栏为 debug 调试窗口

在这里插入图片描述

10.点击 inject,先后分别注入 inject_SQL 和 inject_COMMIT

先看一眼数据库的TEST表,
我们一会儿要注入 ID=6655 的数据,现在的数据库 TEST 表是这样的:

在这里插入图片描述

先后分别注入 inject_SQL 和 inject_COMMIT,各点一次 inject 按钮。
观察 debug 调试台输出:

在这里插入图片描述

11.查看数据库,是不是新插入了 ID==6655 的行?

成功,测试配置完毕。
我们测试了 “增”,
“删、改、查” 也是同理,都需要 COMMIT。

在这里插入图片描述


网站公告

今日签到

点亮在社区的每一天
去签到