OrientDB.RequestError:无法找到该命令请求的命令执行:SQL#11.1
问题描述:
我与OrientDB(社区版V1.7-RC2)/ Oriento试验(0.4.0)OrientDB.RequestError:无法找到该命令请求的命令执行:SQL#11.1
功能
function linkChildToParent(oChild, oParent) {
return (
oDB.edge.from(oChild).to(oParent)
.create({"@class": 'OrgUnit_isPartOf_OrgUnit'})
.tap(log)
.return(oChild)
);
}
与异常
C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\node_modules\bluebird\js\main\async.js:93
throw res.e;
^
OrientDB.RequestError: Cannot find a command executor for the command request: sql.#11.1
at Operation.parseError (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\protocol\operation.js:806:13)
at Operation.consume (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\protocol\operation.js:396:35)
at Connection.process (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\connection.js:324:17)
at Connection.handleSocketData (C:\Users\Udo\workspace\NodeOrient\node_modules\oriento\lib\transport\binary\connection.js:250:17)
at Socket.emit (events.js:95:17)
at Socket.<anonymous> (_stream_readable.js:764:14)
at Socket.emit (events.js:92:17)
at emitReadable_ (_stream_readable.js:426:10)
at emitReadable (_stream_readable.js:422:5)
at readableAddChunk (_stream_readable.js:165:9)
From previous event:
at Function.Promise$All [as all] (C:\Users\Udo\workspace\NodeOrient\node_modules\bluebird\js\main\promise.js:193:12)
at generateDependents (C:\Users\Udo\workspace\NodeOrient\setupOrgDB.js:202:35)
From previous event:
at Function.Promise$Join [as join] (C:\Users\Udo\workspace\NodeOrient\node_modules\bluebird\js\main\join.js:118:15)
at BinaryTransport.populateDB (C:\Users\Udo\workspace\NodeOrient\setupOrgDB.js:219:20)
所以我调试到驱动程序,直到我发现
失败命令的内容return db.query(command);
前右是
CREATE EDGE OrgUnit_isPartOf_OrgUnit FROM (#11.1) TO (#11.0)
然后我用的(基于浏览器)的控制台来验证OrgUnit_isPartOf_OrgUnit实际上是从边缘继承。我也验证过它会将OrgUnit与OrgUnit顶点链接起来,并且OrgUnit是从顶点引出的。我还仔细检查了记录#11.1和#11.0实际存在于数据库中。
然后我在控制台发出
CREATE EDGE OrgUnit_isPartOf_OrgUnit FROM (#11.1) TO (#11.0)
直接找来
com.orientechnologies.orient.core.command.OCommandExecutorNotFoundException: Cannot find a command executor for the command request: sql.#11:1
这基本上是相同的异常。有了Google,我发现了一些Javadoc for this exception。然而,这并没有帮助我。
什么是错,我该如何解决?
答
正确的命令应该没有括号。括号执行子查询:
CREATE EDGE OrgUnit_isPartOf_OrgUnit FROM #11:1 TO #11:0
有关更多信息,请参阅Create Edge命令。
有趣。现在我必须弄清楚为什么查询生成器会放入palenthesis。但这肯定是造成了这个问题。 – 2014-09-24 05:13:58