Marklogic MLCP分隔文件

Marklogic MLCP分隔文件,marklogic,mlcp,Marklogic,Mlcp,我尝试加载数据。它不起作用了 我的尝试: 多个分隔符、带引号的所有字段、不带引号的所有字段、不包含数据标题、mlcp中无分隔符选项、mlcp中的其他分隔符选项、其他计算机、其他ML8版本、其他Java版本、更少数据、更多数据、带或不带转换 我的shell脚本: #!/bin/bash # Data laden met transform ############################################# mlcp.sh import \ -host localhost

我尝试加载数据。它不起作用了

我的尝试:
多个分隔符、带引号的所有字段、不带引号的所有字段、不包含数据标题、mlcp中无分隔符选项、mlcp中的其他分隔符选项、其他计算机、其他ML8版本、其他Java版本、更少数据、更多数据、带或不带转换

我的shell脚本:

#!/bin/bash

# Data laden met transform
#############################################
mlcp.sh import \
 -host localhost \
 -port 37041 \
 -username admin \
 -password admin \
 -input_file_path sampledata/DIKW \
 -input_file_type delimited_text \
 -delimiter ";" \
 -transform_module /ext/obi/transform/dikw-transform-eval.xqy \
 -transform_namespace "http://marklogic.com/dikw" \
 -mode local \
 -thread_count 1 \
 -transaction_size 1 \
 -batch_size 1
数据

"INCIDENTID";"DATUM";"TIJD";"HECTOMETERAANDUIDING";"WEGNAAM";"KORTBESCHRIJVING"
161236;02-08-14 00:00;1839-11-23 17:05:20;13.3;A14;"a- 1pa" 
错误

15/10/29 11:15:23 ERROR contentpump.DelimitedTextReader: (line 0) invalid char between encapsulated token end delimiter
看看这个博客,它解释了出现这种问题的原因以及应该怎么做。 简而言之,您看到此错误主要是因为您有以下数据:

"first"name;lastName;middle
这里的第一列是无效的CSV列,因为字段中不能有引号,除非对其进行转义。有关更多详细信息,请参阅帖子


尽管在您提出问题的数据示例中,它似乎还可以。但仍然请确保在原始数据中,没有在字段中间留下任何未替换的双引号。顺便问一下,您使用的mlcp版本是什么?

当使用非标准分隔符时,我发现使用

options.txt:

import
-host
localhost
-port
37041
-username
admin
-password
admin
-input_file_path
sampledata/DIKW
-input_file_type
delimited_text
-delimiter
;
-transform_module
/ext/obi/transform/dikw-transform-eval.xqy
-transform_namespace
http://marklogic.com/dikw
-mode
local
-thread_count
1
-transaction_size
1
-batch_size
1
请注意,它允许您跳过分号周围的引号。然后:

mlcp.sh -options_file options.txt

您是否确保您的输入文件实际上是UTF-8?此外,为了进行测试,可能还删除了您的自定义转换代码(当您以XML形式获取数据时,解决了这个障碍)