MarkLogic CoRB导出customer.xml至CSV失败,请求排查报错问题
CoRB命令执行错误排查与解决
错误原因分析
从报错信息和命令内容来看,核心问题出在Windows命令行续行符使用不当和参数引号冗余:
- 续行符
^后存在空格:Windows CMD中,^作为续行标记时,后面不能有任何空格或字符,否则会将^、空格连同下一行的-Dxxx内容整体当作一个非法输入字符串,导致CoRB无法识别正确的系统属性参数。 -D参数值多余引号:例如-DMODULE-DATABASE="Module"中,引号会被当作属性值的一部分传递给CoRB,干扰参数解析逻辑。
修正后的CoRB命令
java -cp ".\documents\marklogic-corb-2.3.2.jar;.\documents\marklogic-xcc-11.0.0.jar" ^ -DMODULE-DATABASE=Module ^ -DMODULE-ROOT=/ ^ -DXCC-CONNECTION-URI=xcc://admin:admin@localhost:9100/ ^ -DPROCESS-MODULE=/processQuery.xqy ^ -DURIS-MODULE=/uriQuery.xqy ^ -DTHREAD-COUNT=4 ^ -DINSTALL=false ^ -DPROCESS-TASK=com.marklogic.developer.corb.ExportBatchToFileTask ^ -DEXPORT-FILE-NAME=C:\work\test.csv ^ com.marklogic.developer.corb.Manager
关键修正点说明
- 所有
^续行符后直接换行,确保没有尾随空格。 - 移除所有
-D参数值的引号(参数值无空格时无需引号,有空格时才需要用引号包裹)。 - 修正
PROCESS-TASK的类名拼写:将ExportBatchtoFileTask改为ExportBatchToFileTask(To首字母大写),避免后续出现类找不到的错误。
额外检查项
- 确认
processQuery.xqy和uriQuery.xqy已部署到指定的Module数据库的/根目录下。 - 验证XCC连接URI的端口(9100)是否为目标数据库的App Server端口,且服务处于运行状态。
- 确保导出路径
C:\work\存在且当前用户有写入权限。
内容的提问来源于stack exchange,提问作者Niel
相关产品推荐
相关产品推荐

