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

总览

上节课,我们说到,在 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://xiahunao.cn/news/3246697.html

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

相关文章

Linux--网络基础

计算机网络背景 计算机网络背景是一个复杂而丰富的领域,涵盖了从计算机单机模式到网络互联的演变过程,以及网络技术的不断发展和创新。 计算机单机模式和独立发展 在早期,计算机主要以单机模式存在,即每台计算机都是独立的&…

传知代码-揭秘AI如何揪出图片中的“李鬼”(论文复现)

代码以及视频讲解 本文所涉及所有资源均在传知代码平台可获取 文字篡改图像的“照妖镜”:揭秘AI如何揪出图片中的“李鬼” 在数字化时代,我们时常被各种图像信息所包围。然而,这些图像中有时隐藏着不为人知的秘密——被篡改的文字或图像。这…

C++ | Leetcode C++题解之第238题除自身以外数组的乘积

题目&#xff1a; 题解&#xff1a; class Solution { public:vector<int> productExceptSelf(vector<int>& nums) {int length nums.size();// L 和 R 分别表示左右两侧的乘积列表vector<int> L(length, 0), R(length, 0);vector<int> answer(l…

188数码管轮询扫描

前言 最近用到了188数码管&#xff0c;总结一下。 188数码管&#xff0c;用5个IO&#xff0c;在不借助外部驱动芯片的情况下&#xff0c;可以点亮20个灯。188数码管广泛应用于电子烟、充电器、充电宝、DVD、高级音响、工业设备控制面板、医疗器械等多个领域&#xff0c;满足不…

【iOS】——TaggedPointer

TaggedPointer介绍 在为了改进从 32位CPU 迁移到 64位CPU 的内存浪费和效率问题&#xff0c;在 64位CPU 环境下&#xff0c;引入了 Tagged Pointer 。旨在提高内存效率和运行性能&#xff0c;尤其针对小的、频繁使用的对象&#xff0c;如NSNumber, NSDate, 和NSString等。在64…

昇思学习打卡-19-生成式/Pix2Pix实现图像转换

文章目录 网络介绍训练推理结果 网络介绍 Pix2Pix是基于条件生成对抗网络&#xff08;cGAN, Condition Generative Adversarial Networks &#xff09;实现的一种深度学习图像转换模型&#xff0c;可以实现语义/标签到真实图片、灰度图到彩色图、航空图到地图、白天到黑夜、线…

mmdetection

首先下载mmdetection 3.2.0版本的 https://github.com/open-mmlab/mmdetection/tree/v3.2.0 第二步&#xff1a;创建虚拟环境 conda create -n mmdetection python3.8 -y conda activate mmdetection第三步&#xff1a;安装包 pip install torch2.0.1cu118 -f https://downl…

【c++】新领域:“智能数组 ” 问世

引入: 大家有没有发现每次创建和使用数组时很麻烦,因为数组长度一般只能用静态常量,太过局限,不满足大部分开发者的需求。而且遍历数组也很麻烦,又要for循环,又要在其他使用数组的地方检查边界。 于是我就构想了一种“智能数组” 就解决了大部分的难题 这样的语言风格是…

分布式IO系统2通道串口通信模块M602x

现场总线耦合器本身包含一个电源模块&#xff0c;它有 2 个串口通道&#xff0c;通过 Modbus RTU&#xff08;Master&#xff09;协议连接外部串行设备&#xff0c;实现耦合器与外部串行设备通信&#xff0c;现以连接设备的示例带大家了解我们钡铼的2 通道串口通信模块 M602x。…

自闭症孩子为什么容易出现饮食问题?

在星启帆自闭症学校&#xff0c;我们深知自闭症孩子在日常生活中常常面临饮食问题的挑战。这些问题不仅影响孩子的营养摄入和健康成长&#xff0c;也给家庭和学校带来了不小的困扰。以下是我对自闭症孩子容易出现饮食问题的几点分析&#xff1a; 一、感官敏感性 自闭症孩子往往…

【NetTopologySuite类库】合并所有几何的包围盒AABB

流程示意图 示例代码 using GeoAPI.Geometries; using Microsoft.VisualStudio.TestTools.UnitTesting; using NetTopologySuite.Geometries; using NetTopologySuite.IO; using System.Collections.Generic; using System.Linq;namespace Test472 {[TestClass]public class T…

vim网络和安全的操作及shell的使用

目录 vim模式 一般模式下的基本操作&#xff1a; 一般模式切换到编辑模式&#xff1a; 一般模式切换到命令模式&#xff1a; Vim多窗口使用技巧 横向切割打开&#xff1a; 纵向切割打开&#xff1a; 关闭多窗口&#xff1a; 窗口的切换&#xff1a; 网络&#xff1a;…

使用 Flask 3 搭建问答平台(二):User 模型搭建

前言 以下所有代码均是在之前的基础上添加&#xff01;&#xff01;&#xff01; 后面的章节均是如此 知识点 1. 使用 pymysql 模块连接数据库 2. 在模型中创建用户数据表 3. 初始化数据库、创建初始迁移脚本、应用初始迁移脚本 一、User 模型搭建 1.1 准备数据库 1.2 …

Python进阶 异常-包-模块案例

import my_utils.str_util from my_utils import file_utilprint(my_utils.str_util.str_reserves("黑马程序员")) print(my_utils.str_util.substr("itheima",0,4))#文件处理 def print_file_info(file_name):"""将给定路径文件的内容输出…

appium2.0 执行脚本遇到的问题

遇到的问题&#xff1a; appium 上的日志信息&#xff1a; 配置信息 方法一 之前用1.0的时候 地址默认加的 /wd/hub 在appium2.0上&#xff0c; 服务器默认路径是 / 如果要用/wd/hub 需要通过启动服务时设置基本路径 appium --base-path/wd/hub 这样就能正常执行了 方法二…

MongoDB综合实战篇(超容易)

一、题目引入 在MongoDB的gk集合里插入以下数据&#xff1a; 用语句完成如下功能&#xff1a; &#xff08;1&#xff09;查询张三同学的成绩信息 &#xff08;2&#xff09;查询李四同学的语文成绩 &#xff08;3&#xff09;查询没有选化学的同学 &#xff08;4&#xf…

Windows与Ubuntu安装ffmpeg

文章目录 前言ffmpeg的简介安装ffmpegWindows下载设置环境变量 Ubuntu 总结 前言 FFmpeg是一款非常强大的开源音视频处理工具&#xff0c;它包含了众多的音视频编解码库&#xff0c;可以用于音视频的采集、编解码、转码、流化、过滤和播放等复杂的处理。在Windows系统上安装FF…

2024年互联网时代:专业企业IM即时通讯聊天软件的重要性不容忽视!

在这个日新月异的信息时代里&#xff0c;企业IM即时通讯无疑是与我们日常生活联系最紧密的科技工具之一&#xff01;它不仅能让我们轻松实现与亲朋好友间的流畅沟通与联系&#xff0c;更为互联网时代的广大企业员工提供了便捷高效的协同办公平台&#xff0c;助力企业内部信息无…

昂科烧录器支持TI德州仪器的混合信号微控制器MSPM0L1106

芯片烧录行业领导者-昂科技术近日发布最新的烧录软件更新及新增支持的芯片型号列表&#xff0c;其中TI德州仪器的混合信号微控制器MSPM0L1106已经被昂科的通用烧录平台AP8000所支持。 MSPM0L1106微控制器(MCU)属于MSP高度集成的超低功耗32位MSPM0 MCU系列&#xff0c;该系列基…

美式键盘 QWERTY 布局的来历

注&#xff1a;机翻&#xff0c;未校对。 The QWERTY Keyboard Is Tech’s Biggest Unsolved Mystery QWERTY 键盘是科技界最大的未解之谜 It’s on your computer keyboard and your smartphone screen: QWERTY, the first six letters of the top row of the standard keybo…