私がしたいことは、テーブルをファイルにコピーし、テーブルを切り捨て、データをテーブルにコピーすることです。
このために、次の 2 つのコマンドを使用しています。
アウト:bcp TABLE out file.csv -S SERVER -U user -P password -r '\n' -t '^|' -c
イン: bcp TABLE in file.csv -S SERVER -U user-P password-r '\n' -t '^|' -c -J iso_1 -b 5000
これは私が得るエラーです:
CSLIB Message: - L0/O0/S0/N36/1/0:
cs_convert: cslib user api layer: common library error: The result is truncated because the conversion/operation resulted in overflow.
興味深い部分(少なくとも私にとって)は、最初の列が奇数である行に対してのみエラーが発生することです。最初の 300 万行から、最初の列 ( the PK
) がすべて奇数になるように半分を切り捨てます。
さまざまなオプションを試しましたが、どれも機能していないようです。charset
私が知る限り、切り捨てられるような巨大な列はなく、carriage return
欠落していません。
どんな助けでも大歓迎です。
更新:フォーマット ファイルを作成した後、エラーはなくなりましたが、データの半分だけがテーブルにコピーされます。
更新:機能してすべてのデータをロードするフォーマット ファイルを作成できましたが、別のサーバーでは使用できません (テスト環境で機能し、運用環境で実行する必要があります) Attempt to read an unknown version of bcp format-file.
。これが何を意味するかはわかりますが、バージョンの正しい値を見つける方法はありますか?
解決済み:VIEW
データベースを掘り下げた後、本番環境でテーブルをコピーするために使用されたのは 25 列しかコピーされなかったが、テーブルには 26 列ある (誰かがテーブルを変更し、私は変更しなかった)ため、問題は確かにデータの不整合であったようです。知らなかったし、それが起こったことに気づいていなかった)。を修正し、View
動作するようになりました。