Dans mon application Bluemix Nodered, j'essaie de faire une requête SqlDB, mais je ne trouve pas de documentation ou d'exemples suffisants sur la façon d'utiliser les marquages de paramètres dans le question. Y a-t-il des exemples et d'autres informations sur ce que je fais de mal? Voici le flux que j'ai des problèmes avec:Requête Bluemix SQLDB - Impossible de trouver les marquages de paramètres JSON
[
{
"id":"7924a83a.03355",
"type":"websocket-listener",
"path":"/ws/dbdata",
"wholemsg":"false"
},
{
"id":"b84efad2.9a2a58",
"type":"function",
"name":"Parse JSON",
"func":"msg.payload = JSON.parse(msg.payload);\nvar begin = msg.payload[0].split(\" \");\nbegin[1] = begin[1]+\":00\";\nvar date1 = begin[0].split(\"-\");\nvar processStart = date1[2]+\"-\"+date1[0]+\"-\"+date1[1]+\" \"+begin[1];\n\nvar end = msg.payload[0].split(\" \");\nend[1] = end[1]+\":00\";\nvar date2 = end[0].split(\"-\");\nvar processEnd = date2[2]+\"-\"+date2[0]+\"-\"+date2[1]+\" \"+end[1];\n\nmsg.payload[0] = processStart;\nmsg.payload[1] = processEnd;\nreturn msg;",
"outputs":1,"noerr":0,"x":381.79998779296875,"y":164.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[["4f92b16a.cf981"]]
},
{
"id":"3e20f8a4.06451",
"type":"websocket in",
"name":"dbInput",
"server":"7924a83a.03355",
"client":"",
"x":159.8000030517578,"y":164.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[["b84efad2.9a2a58"]]
},
{
"id":"68a4a35.5983f5c",
"type":"debug",
"name":"",
"active":true,"console":"false",
"complete":"true",
"x":970.7999877929688,"y":162.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[]
},
{
"id":"5a0aed1c.34279c",
"type":"sqldb in",
"service":"LabSensors-sqldb",
"query":"",
"params":"{msg.begin},{msg.end}",
"name":"db Request",
"x":787.7999877929688,"y":163.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[["68a4a35.5983f5c"]]
},
{
"id":"e08c4a85.e95e68",
"type":"debug",
"name":"",
"active":true,"console":"false",
"complete":"true",
"x":791.7999877929688,"y":233.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[]
},
{
"id":"4f92b16a.cf981",
"type":"function",
"name":"Construct Query",
"func":"msg.begin = msg.payload[0];\nmsg.end = msg.payload[1];\nmsg.payload = \"SELECT * FROM IOT WHERE TIME >= '?' AND TIME < '?'\";\nreturn msg;",
"outputs":1,"noerr":0,"x":583.7999877929688,"y":163.8000030517578,"z":"3f9da5d2.b3f0aa",
"wires":[["5a0aed1c.34279c",
"e08c4a85.e95e68"]]
}
]
Lorsque je mets "msg.begin, msg.end" le noeud sqldb ne me donne plus d'erreur, mais la requête ne me donne aucun résultat. Je sais que cette requête devrait renvoyer des valeurs parce que quand je hardcode la requête cela fonctionne. Ai-je formaté le msg.payload correctement? 'msg.payload =" SELECT * FROM IOT OERE HEURE> = '?' AND TIME <'?' ";' – jdistler
Désactivation de cela, modification de la charge utile en 'msg.payload =" SELECT * FROM IOT WHERE TIME> = "+"? "+" ET HEURE <"+"? ";' semble produire une requête valide, mais mon noeud de débogage est en train de sortir ce '{" payload ": []," _session ": {" type ":" websocket "," id ":" fcc17050.033e9 "}," _msgid ": "1918d7ee.e6e728", "begin": "2015-08-07 15:30:00", "end": "2015-08-07 15:30:00"} '- un résultat vide. – jdistler
Le dernier format de msg.payload a fonctionné une fois que j'ai corrigé une erreur de logique que j'ai trouvée ailleurs dans mon flux. – jdistler