0

尝试使用 voltQueueSQLExperimental() 函数在 volt db 中执行动态插入查询时出现错误。SQL 很好,因为我在 volt web studio 上单独运行它。错误如下:

错误:VOLTDB 错误:用户中止尝试将 DML adhoc sql '插入到 volt_temp_constraints (asset_id,config_id,session_id,sam_id) 值 (12,13,'abc',12)' 来自程序.testPrcUpdateConstraint.run( testPrcUpdateConstraint.java:155)

请注意,生成的 SQL 是动态的和临时的,不能事先静态生成。

4

1 回答 1

2

文档不是他们的强项... ;),但我可以重现您的错误。

如我所见,VoltDB 将已编译的过程标记为读写器或只读。从这里可以推断。不幸的是,除了创建一个 INSERT/UPDTE/UPSERT SQLStatement 作为对象属性并且根本不使用它之外,目前似乎没有任何其他方法可以解决它。

也许您可以联系其中一位开发人员为此添加一些方法。

顺便说一句,可以在这里找到异常:https://github.com/VoltDB/voltdb/blob/master/src/frontend/org/voltdb/ProcedureRunner.java在第 620 行

于 2015-02-08T01:34:25.923 回答