我有一张这种结构的表
create table test {
id_data int identity,
data text
// id_data is the primary key
}
我使用了以下命令:
bcp DB..test out prod.bcp.out -U me-P pwd -SPROD -I ~/bin/interfaces -c -T40960
bcp DB..test in prod.bcp.out -U me -P pwd -SUAT -I ~/bin/interfaces -E -c -T40960
还有导入发出以下消息:
CSLIB Message: - L0/O0/S0/N24/1/0:
cs_convert: cslib user api layer: common library error: The conversion/operation was stopped due to a syntax error in the source field.
bcp copy in failed
答案1
我在批量复制文本字段数据时也遇到过类似的问题。数据中的字符可能被 BCP 误解为字段或行分隔符。
尝试明确设置字段和行分隔符。
bcp DB..test out prod.bcp.out -Ume -Ppwd -SPROD -I ~/bin/interfaces -t#@# -r\\n -c -T40960
bcp DB..test in prod.bcp.out -Ume -Ppwd -SUAT -I ~/bin/interfaces -E -t#@# -r\\n -c -T40960
我在这里使用了#@#,因为它是推荐的这里因为它比标准选项(条形图、逗号、制表符等)更独特。