Ibm cloud 如何将两个参数从IBM Bluemix传递到节点Red的dashDB查询元素

Ibm cloud 如何将两个参数从IBM Bluemix传递到节点Red的dashDB查询元素,ibm-cloud,node-red,dashdb,Ibm Cloud,Node Red,Dashdb,我试图将两个参数从Bluemix上节点红色流编辑器中的dashDB对象传递到sql查询中。我的参数存储在msg.fromDate和msg.toDate中,我想将它们输入dashDB节点的“参数标记”中。当我只使用一个参数时,我只需在参数标记中键入“msg.fromDate”,它就可以正常工作。在日志中,我看到: 2015-12-10T12:22:12.856+0100[App/0]输出输入节点:路径阵列: msg,toDate2015-12-10T12:22:12.856+0100[App/0]

我试图将两个参数从Bluemix上节点红色流编辑器中的dashDB对象传递到sql查询中。我的参数存储在msg.fromDate和msg.toDate中,我想将它们输入dashDB节点的“参数标记”中。当我只使用一个参数时,我只需在参数标记中键入“msg.fromDate”,它就可以正常工作。在日志中,我看到:

2015-12-10T12:22:12.856+0100[App/0]输出输入节点:路径阵列: msg,toDate2015-12-10T12:22:12.856+0100[App/0]输出输入节点:参数值:2015-12-01

现在,当我尝试使用两个输入参数时,我在“参数标记”中键入“msg.toDate,msg.fromDate”,我在日志中得到了以下错误:

2015-12-10T12:26:01.271+0100[App/0]输出12月10日11:26:01-[错误] [dashDB in:popular words]类型错误:无法读取属性“fromDate” 未定义的属性

2015-12-10T12:26:01.270+0100[App/0]输出输入节点:路径阵列: 味精,toDate,味精,fromDate


如何传递两个参数?

参数之间不能有引号,不确定添加引号是为了格式化任务还是实际将其添加到参数中

我用
功能节点
编写了一个简单的节点red flow来构建查询和
dashDB节点
本身

在我的
功能节点中
有如下查询:

msg.fromDate = '2011-04-12 00:00:00';
msg.toDate= '2015-03-12 00:00:00';
msg.payload = "SELECT COL2 FROM DASH104951.TESTDATE WHERE START >= ? AND END <= ?";
return msg;
一切都很顺利

如果要将其导入到自己的node red应用程序中,以下是我的node red flow:

[{"id":"211a834b.dee57c","type":"inject","z":"197f318.fe680ce","name":"","topic":"","payload":"","payloadType":"none","repeat":"","crontab":"","once":false,"x":117,"y":115,"wires":[["7a23c994.85dc38"]]},{"id":"7a23c994.85dc38","type":"function","z":"197f318.fe680ce","name":"Build Query","func":"msg.fromDate = '2011-04-12 00:00:00';\nmsg.toDate= '2015-03-12 00:00:00';\nmsg.payload = \"SELECT COL2 FROM DASH104951.TESTDATE WHERE START >= ? AND END <= ?\";\nreturn msg;","outputs":1,"noerr":0,"x":325,"y":123,"wires":[["559c92e4.aa636c"]]},{"id":"24974090.db68c","type":"debug","z":"197f318.fe680ce","name":"dashDB query result","active":true,"console":"false","complete":"true","x":773,"y":125,"wires":[]},{"id":"559c92e4.aa636c","type":"dashDB in","z":"197f318.fe680ce","service":"dashDB-0a","query":"","params":"msg.fromDate,msg.toDate","name":"","x":548,"y":131,"wires":[["24974090.db68c"]]}]

[{“id”:“211a834b.dee57c”,“type”:“inject”,“z”:“197f318.fe680ce”,“name”:“topic”:“payload”:“payloadType”:“none”,“repeat”:“crontab”:“one”:false,“x”:117,“y”:115,“wires”:[“7a23c994.85dc38”]},{“id”:“7a23c994.85dc38”,“type”:“function”,“z”:“197f318.fe680ce”,“name”:“Build Query”,“func”:“msg.fromDate='2011-04-12 00:00:00';\nmsg.toDate='2015-03-12 00:00:00';\nmsg.payload=\”从DASH104951.TESTDATE中选择COL2,其中START>=?和END我找到了这个问题的原因。当我输入这样的“参数标记”时,看起来:

msg.toDate, msg.fromDate
它不起作用。就像这样它起作用:

msg.toDate,msg.fromDate

换句话说,参数之间的空格会破坏它!

我没有在参数之间使用引号-它只是用于更好地格式化我的问题。好的,谢谢你的澄清,希望我的回答能有所帮助。如果没有,请告诉我。
msg.toDate,msg.fromDate