Years ago, I created a flow using MSSQL-Plus to execute a stored procedure that receives 4 inputs. It worked fine for years under Node-RED v2.2.2 and MSSQL-Plus v0.7.3.
Now I have moved the flow to a new machine running Node-RED v3.1.9 and MSSQL-Plus v0.12.2.
In the debug pane (highlighted items) are the messages that are being passed into the MSSQL node. Everything seems to match fine, yet the error show complains that RequestedBy is not being supplied.
Did something change with the syntax since the previous version?
Just a guess here... but did you copy over the entire .node-red directory with the node_modules? If so, and you now are using a newer version of nodejs, you will want to run npm rebuild in the new home dir.
I've seen odd behaviors with things like database nodes when updating my nodejs/npm versions, which a rebuild usually fixes -- so there could be native code inside. Best practice is to copy everything except node_modules, and then run npm install on the new host (my apologies if you already knew this).
Thanks @shrickus. Old machine was Node-RED running on Windows (ouch!) and new machine is Ubuntu (ahhh!). I simply installed Node-RED on the new machine via the script, installed the MSSQL-Plus node from the palette manager, and then imported the .json flow (which was exported from the old machine).
I just did the npm rebuild command on the new machine but that did not fix the problem.
This flow is not that complicated. Should I just blow it away and then rebuild it from scratch to see if it works (rather than import, as I have just done)?
Just to tie this one up, the error which seemed to prevent the SQL stored procedure from running was that msg.from (which was coming from an Email In node earlier in the flow) was not getting passed through all the way, so I modified the Change node right before the MSSQL-Plus node so that it was present, and from there the flow worked as it originally did. Might be due to some tiny obscure change with either Node-RED and/or MSSQL-Plus.
FWIW, it is always worth putting debug node immediately before the node that will "do the thing" (in your case the MSSQL) node.
Additionally, a debug node set to show the full msg after the MSSQL-PLUS node would have showed you what parameters it was given. (might need to select "driver output" options, i forget).
That entirely depends what nodes are between the node that originally adds .from to the message and the node MSSQL node.
What i can say, it is definitely NOT the MSSQL node since your change to ensure it is present in the msg going into that node fixed your problem!