2015-12-10 5 views
3

Я пытаюсь передать два параметра в sql-запрос из объекта dashDB в редакторе потока Node-Red на Bluemix. Мои параметры хранятся в msg.fromDate и msg.toDate, и я хочу ввести их в «Маркер параметров» узла dashDB. Когда я использую только один параметр, просто введите «msg.fromDate» в маркеры параметров и он отлично работает. В журнале я вижу это:Как передать два параметра элементу запроса dashDB из Node-Red из IBM Bluemix

2015-12-10T12:22:12.856+0100 [App/0] out Input node: pathToArray: msg,toDate 2015-12-10T12:22:12.856+0100 [App/0] out Input node: parameterValues: 2015-12-01

Теперь, когда я пытаюсь использовать два входных параметров I Тип «msg.toDate, msg.fromDate» в «Маркер параметра» Я получаю эту ошибку в журнале:

2015-12-10T12:26:01.271+0100 [App/0] out 10 Dec 11:26:01 - [error] [dashDB in:popular words] TypeError: Cannot read property 'fromDate' of undefined

2015-12-10T12:26:01.270+0100 [App/0] out Input node: pathToArray: msg,toDate, msg,fromDate

Как передать два параметра?

ответ

3

я нашел причину этой проблемы. Похоже, что когда я ввожу «Маркер параметров» следующим образом:

msg.toDate, msg.fromDate 

не работает. И как это работает:

msg.toDate,msg.fromDate 

Иными словами, пространство между параметрами ломает его!

1

Вы не можете иметь котировки между параметрами, не уверен, что вы добавляете кавычки только для форматирования квеста или фактически добавили его к вашим параметрам.

Я написал простой узел-красный поток с function node, чтобы построить запрос и сам dashDB node.

В моей function node У меня есть следующий запрос:

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; 

В dashDB node я просто текстовое поле Параметры Marker:

msg.fromDate,msg.toDate 

Все работало отлично.

Вот мой узел-красный поток, если вы хотите импортировать его в собственное приложение узла-красный:

[{"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"]]}] 
+0

Я не использую цитаты между параметрами - он использовался только для лучшего форматирования моего вопроса. –

+0

ОК спасибо за разъяснение, надеюсь, мой ответ выше помог. Если не дайте мне знать. –