【问题标题】:Connecting Node Red and MySQL docker containers连接 Node Red 和 MySQL docker 容器
【发布时间】:2020-11-18 14:03:44
【问题描述】:

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

然后,我将 Node Red 节点链接到 容器 IP 地址,就像在 docker 中的默认 bridge 网络上一样,并带有相关的登录详细信息。

在 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 docker node-red


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 2018-12-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      • 1970-01-01
      • 2019-04-14
      • 1970-01-01
      • 2017-08-10
      相关资源
      最近更新 更多