質問: 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
回答: テキストフィールドデータを一括コピーするときにも同様の問題が発生しました。データ内に、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 推奨されたのでここで#@#を使用しました ここ 標準オプション(バー、コンマ、タブなど)よりも一意であるため。