Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用InProcessVoltDBServer通过Java类加载VoltDB过程_Java_Sqlcmd_Voltdb - Fatal编程技术网

使用InProcessVoltDBServer通过Java类加载VoltDB过程

使用InProcessVoltDBServer通过Java类加载VoltDB过程,java,sqlcmd,voltdb,Java,Sqlcmd,Voltdb,我试图通过jar通过以下语句从方法和类加载VoltDB Java过程: InProcessVoltDBServer volt = new InProcessVoltDBServer(); volt.runDDLFromString("load classes StoredProcs.jar;"); 使用java-jar运行jar文件后,我收到以下错误消息: SQL error while compiling query: SQL Syntax error in "LOAD CLASSES St

我试图通过jar通过以下语句从方法和类加载VoltDB Java过程:

InProcessVoltDBServer volt = new InProcessVoltDBServer();
volt.runDDLFromString("load classes StoredProcs.jar;");
使用
java-jar
运行jar文件后,我收到以下错误消息:

SQL error while compiling query: SQL Syntax error in "LOAD CLASSES StoredProcs.jar" unexpected token: LOAD
...
我很清楚消息指向什么,但我不确定为什么它不识别这个命令

此特定语法是否仅与
sqlcmd
相关? 如果是,是否有其他方法通过java代码执行类的加载

我正在使用并尝试从sql脚本文件加载所有
DDL
DML
,以便为集成测试设置环境

此外,我还遵循了在STS中设置项目的步骤

谁能告诉我我做错了什么? 也许这样加载DML(测试数据)是不可能的?

只有sqlcmd支持“加载类”命令。轻量级InProcessVoltDBServer不使用或不支持它

在指南中,创建并测试了一个java过程,但没有明确的步骤来加载该类。当执行DDL命令“从类procedures.UpdateFoo;”在表foo列id上创建过程分区时,procedures.UpdateFoo类已经可用。这可能是因为过程和测试在同一个Eclipse项目中。如果该过程是单独开发的,则需要将jar加载到Eclipse项目的类路径中,在该项目中您将开发测试


披露:我在沃尔特DB工作。

嗨,本杰明,谢谢你的迅速回复。成功了,谢谢你!还有一个不太明显的部分——我能够用
volt.runDDLFromPath
加载DDL和DML文件,它们只需要被分成两个.sql文件。谢谢,我从未尝试过,但很高兴知道。使用dml脚本要比在java过程调用中封装每条语句容易得多。旧版本的voltdb支持这一点吗?我得到“>load classes test.jar;意外的特别计划错误:java.lang.RuntimeException:编译查询时出错:org.voltdb.planner.PlanningErrorException:使用sqlcmd时“load classes test.jar”中的SQL语法错误。load classes从v5.1开始就受到支持,所以已经有一段时间了。