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

news2024/9/21 20:40:49

总览

上节课,我们说到,在 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。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1933108.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

001、Mac系统上Stable Diffusion WebUI环境搭建

一、目标 如标题所述,在苹果电脑(Mac)上搭建一套Stable Diffusion本地服务,以实现本地AI生图目的。 二、安装步骤 1、准备源码【等价于准备软件】 # 安装一系列工具库,包括cmake,protobuf,rust,python3.10,git,wge…

第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025)

#先投稿,先送审# 第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025) 2025 4th International Conference on Cyber Security, Artificial Intelligence and Digital Economy 重要信息 会议官网:www.csaide.net 会…

企业用蚓链数字化营销思维做新赛道设计

​在当今数字化时代,企业面临着日益激烈的竞争和不断变化的市场环境。运用数字化营销思维进行新赛道设计已成为企业寻求突破和创新的关键策略。 数字化营销思维为企业提供了更精准的市场洞察能力。通过大数据分析和用户行为追踪,企业能够深入了解消费者的…

运动用什么骨传导耳机好?推荐这五款运动骨传导耳机!

在运动生涯,我见证了自我挑战与超越的每一个瞬间,而这一切都离不开那如影随形的运动骨传导耳机。一款出色的运动耳机,其重要性不言而喻——它不仅是提升运动效率的得力助手,更是开启多元化运动体验的金钥匙。近年来,运…

集群技术,一主一从的部署和原理方式

集群概述 所谓集群,就是将多台服务器集中在一起,同时处理用户对服务器的请求 比如,我们现在开启的这一台mysql服务器,可以同时处理1000个用户的请求,那么我们开启两个这样的服务器,就可以同时处理2000 数…

Unity3d开发google chrome的dinosaur游戏

游戏效果 游戏中: 游戏中止: 一、制作参考 如何制作游戏?【15分钟】教会你制作Unity小恐龙游戏!新手15分钟内马上学会!_ unity教学 _ 制作游戏 _ 游戏开发_哔哩哔哩_bilibili 二、图片资源 https://download.csdn.…

电脑压缩视频文件 电脑压缩视频大小的方法

在数字化时代,视频已成为我们记录生活、分享快乐的重要工具。然而,大尺寸的视频文件常常让分享和存储变得棘手。如何在保持视频画质的前提下,轻松减小视频文件大小?今天,就让我们一起探索苹果电脑上的几种高效视频压缩…

前端书籍翻页效果

目录 前端书籍翻页效果前言代码示例创建模板页面css样式编写js代码 结论 前端书籍翻页效果 前端实现翻书效果,附带vue源码 源码下载地址 前言 实际业务开发中,有时候会遇到需要在前端页面内实现翻书效果的需求,本篇文章就为大家介绍如何使…

STM32MP135裸机编程:唯一ID(UID)、设备标识号、设备版本

0 资料准备 1.STM32MP13xx参考手册1 唯一ID(UID)、设备标识号、设备版本 1.1 寄存器说明 (1)唯一ID 唯一ID可以用于生成USB序列号或者为其它应用所使用(例如程序加密)。 (2)设备…

stm32入门-----EXTI外部中断(上 ——理论篇)

目录 前言 一、中断系统 1.基本概念 2.执行过程 二、stm32中断 1.stm32中断类型 2.NVIC总管 3.NVIC的优先级分组 三、EXIT外部中断 1.基本概念 2.AFIO复用IO口 3.EXIT执行过程 前言 本期我们就开始进入到学习stm32的中断系统了,在此之前我们学习过51的知道中…

Iterator 与 ListIterator:Java 集合框架中的遍历器比较

Iterator 与 ListIterator:Java 集合框架中的遍历器比较 1、Iterator1.1 特点 2、ListIterator2.1 特点 3、Iterator 和 ListIterator 的区别4、示例4.1 使用 Iterator 遍历 Set4.2 使用 ListIterator 遍历 List 并修改 5、总结 💖The Begin&#x1f49…

《昇思25天学习打卡营第24天| 文本解码原理》

文本解码原理--以MindNLP为例 回顾:自回归语言模型 根据前文预测下一个单词 一个文本序列的概率分布可以分解为每个词基于其上文的条件概率的乘积 𝑊_0:初始上下文单词序列𝑇: 时间步当生成EOS标签时,停止生成。 MindNLP/huggi…

SpringBoot框架学习笔记(二):容器功能相关注解详解

1 Spring 注入组件的注解 Component、Controller、 Service、Repository这些在 Spring 中的传统注解仍然有效,通过这些注解可以给容器注入组件 2 Configuration 2.1 应用实例 需求说明: 演示在 SpringBoot, 如何通过Configuration 创建配置类来注入组件 回顾…

少儿编程启蒙宝典:Scratch动画游戏108变

一、编程教育的时代价值与意义 随着数字时代的深入发展,社会对人才的需求正发生深刻变革,计算思维与编程能力已成为衡量个人竞争力的重要指标。在此背景下,培养孩子们运用计算思维解决实际问题的能力,成为教育领域的重要任务。编…

【PPT笔记】1-3节 | 默认设置/快捷键/合并形状

文章目录 说明笔记1 默认设置1.1 OFFICE版本选择1.1.1 Office某某数字专属系列1.1.2 Office3651.1.3 产品信息怎么看 1.2 默认设置1.2.1 暗夜模式1.2.2 无限撤回1.2.3 自动保存(Office2013版本及以上)1.2.4 图片压缩1.2.5 字体嵌入1.2.6 多格式导出1.2.7…

C++ | Leetcode C++题解之第235题二叉搜索树的最近公共祖先

题目&#xff1a; 题解&#xff1a; class Solution { public:TreeNode* lowestCommonAncestor(TreeNode* root, TreeNode* p, TreeNode* q) {TreeNode* ancestor root;while (true) {if (p->val < ancestor->val && q->val < ancestor->val) {anc…

音视频开发入门教程(2)配置FFmpeg编译 ~共210节

在上一篇博客介绍了安装&#xff0c;音视频开发入门教程&#xff08;1&#xff09;如何安装FFmpeg&#xff1f;共210节-CSDN博客 感兴趣的小伙伴&#xff0c;可以继续跟着老铁&#xff0c;一起开始音视频剪辑功能&#xff0c;&#x1f604;首先查看一下自己的电脑是几核的&…

《昇思25天学习打卡营第20天|GAN图像生成》

生成对抗网络&#xff08;GAN&#xff09;是一种深度学习模型&#xff0c;用于生成逼真的图像。在手写数字识别的任务中&#xff0c;GAN 可以用来生成与真实手写数字相似的图像&#xff0c;以增强模型的训练数据集。GAN 主要由两个部分组成&#xff1a;生成器&#xff08;Gener…

httpx 的使用

httpx 是一个可以支持 HTTP/2.0 的库 还有一个是&#xff1a; hyper 库 这里有一个由HTTP/2.0的网站&#xff1a; https://spa16.scrape.center/ 使用 requests 库 进行爬取 import requests url https://spa16.scrape.center/ response requests.get(url) print(response…

Lua基础知识入门

1 基础知识 标识符&#xff1a;标识符的定义和 C语言相同&#xff1a;字母和下划线_ 开头&#xff0c; 下划线_ 大写字母一般是lua保留字&#xff0c; 如_VERSION 全局变量&#xff1a;默认情况下&#xff0c;变量总是认为是全局的&#xff0c;不需要申明&#xff0c;给一个变…