Подключение контейнеров докеров Node Red и MySQL

#mysql #docker #node-red

#mysql #docker #узел-красный

Вопрос:

У меня есть два отдельных контейнера докеров, один с запущенным узлом Red и один с запущенным MySQL. Я создаю узел в контейнере node red, используя плагин contrib-mssql-plus-box для node red. У меня есть таблица в контейнере MySQL с некоторыми данными в ней, называемыми TimeData.

Затем я связываю узел Node Red с IP-адресом контейнера, как в мостовой сети по умолчанию в docker, с соответствующими данными для входа.

В узле MSSQL у меня есть следующий код:

 SELECT TOP 1 * FROM TimeData;
  

Я пытаюсь записать это на обычный узел отладки (см. Макет ниже).
Но, когда я пытаюсь это сделать, мой контейнер node red выходит из строя со следующей ошибкой:

 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 или моя настройка контейнера, которая вызывает это?

введите описание изображения здесь

Ответ №1:

Похоже, вы используете не тот узел, MySQL ! = MSSQL.

Для связи с MySQL используется узел MS SQL (для базы данных Microsoft). Это просто не сработает.

Вам необходимо установить узел MySQL, например https://flows.nodered.org/node/node-red-node-mysql