我正在尝试使用以下语句通过 jar 从方法和类中加载 VoltDB Java 过程:InProcessVoltDBServer volt = new InProcessVoltDBServer();volt.runDDLFromString("load classes StoredProcs.jar;");运行 jar 文件后,java -jar我收到以下错误消息:SQL error while compiling query: SQL Syntax error in "LOAD CLASSES StoredProcs.jar" unexpected token: LOAD...我很清楚该消息指向什么,但我不确定为什么它无法识别此命令?这种特殊的语法可能只与sqlcmd? 如果是,是否有另一种方法可以通过 java 代码执行加载类?我正在使用InProcessVoltDBServer并尝试从 sql 脚本文件中加载所有DDLs和DMLs,以便为集成测试设置环境。此外,我已按照本指南在 STS 中设置项目。谁能解释一下我在这里做错了什么?也许不可能像这样加载 DML(测试数据)?
1 回答

缥缈止盈
TA贡献2041条经验 获得超4个赞
“LOAD CLASSES”命令仅在 sqlcmd 中受支持。轻量级 InProcessVoltDBServer 不使用或不支持它。
在指南中,创建并测试了一个 java 过程,但没有明确的步骤来加载该类。当 DDL 命令“CREATE PROCEDURE PARTITION ON TABLE foo COLUMN id FROM CLASS procedure.UpdateFoo;” 执行时,procedures.UpdateFoo 类已经可用。这可能是因为程序和测试在同一个 Eclipse 项目中。如果该过程是单独开发的,则需要将 jar 加载到开发测试的 Eclipse 项目的类路径中。
披露:我在 VoltDB 工作。
添加回答
举报
0/150
提交
取消