it-swarm-ja.com

Sybase 12.5:「テキスト」フィールドを使用してテーブルをBCPイン/アウトする方法

私はこの構造の表を持っています

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

そして、bcp inは次のメッセージを出力します。

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
Anthony Kong

テキストフィールドデータを一括コピーするときにも同様の問題が発生しました。データ内に、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

推奨されたのでここで#@#を使用しました ここ 標準オプション(バー、コンマ、タブなど)よりも一意であるため。

1
Chad Kieffer