连接节点红色和 MySQL docker 容器

Connecting Node Red and MySQL docker containers

我有两个单独的 docker 容器,一个 运行 Node Red 和一个 运行 MySQL。 我使用节点红色的 contrib-mssql-plus-box 插件在节点红色容器中创建了一个节点。 我在 MySQL 容器上有一个 table,其中包含一些名为 TimeData 的数据。

我然后 link 节点红色节点到 容器 IP 地址 作为默认 bridge 网络 docker,以及相关的登录详细信息。

在 MSSQL 节点中,我有以下代码:

SELECT TOP 1 * FROM TimeData;

我尝试将其写入普通调试节点(请参见下面的布局)。 但是,当我尝试这样做时,我的节点红色容器崩溃并出现以下错误:

18 Nov 13:56:28 - [red] Uncaught Exception:
18 Nov 13:56:28 - RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to write outside buffer bounds
    at boundsError (internal/buffer.js:47:11)
    at Buffer.readUInt8 (internal/buffer.js:213:5)
    at Packet.isLast (/data/node_modules/tedious/lib/packet.js:112:29)
    at ReadablePacketStream.<anonymous> (/data/node_modules/tedious/lib/message-io.js:91:18)
    at ReadablePacketStream.emit (events.js:198:13)
    at addChunk (/data/node_modules/readable-stream/lib/_stream_readable.js:291:12)
    at readableAddChunk (/data/node_modules/readable-stream/lib/_stream_readable.js:278:11)
    at ReadablePacketStream.Readable.push (/data/node_modules/readable-stream/lib/_stream_readable.js:245:10)
    at ReadablePacketStream.Transform.push (/data/node_modules/readable-stream/lib/_stream_transform.js:148:32)
    at ReadablePacketStream._transform (/data/node_modules/tedious/lib/message-io.js:57:16)

我不确定为什么会出现缓冲区边界外错误?是我的 MySQL 查询还是我的容器设置导致了这个问题?

您似乎使用了错误的节点,MySQL != MSSQL。

您正在使用 MS SQL 节点(对于 Microsoft 数据库)与 MySQL 交谈。这根本行不通。

您需要安装一个 MySQL 节点,例如https://flows.nodered.org/node/node-red-node-mysql