- PR -

bcp ユーティリティ を用いたインポートのエラーについて

1
投稿者投稿内容
みぎもひだりも
会議室デビュー日: 2007/05/24
投稿数: 16
投稿日時: 2007-06-22 23:04
いつも大変お世話になっております。皆様の知恵をお貸しいただきたいと思います。

現在bcpユーティリティを用いて、データのインポートを行っているのですが、
インポートの際に以下のようなメッセージが出てエラー終了してしまいます。

----------------------------------------------------------

C:\>bcp css_[databesename].dbo.[tablename] in output.dat -N -q -CACP -S[servername] -U[username] -P[password] -E

コピーを開始中です...
SQLState = 22001, NativeError = 0
Error = [Microsoft][ODBC SQL Server Driver]文字列データの右側が切り捨てられまし
た。

BCP コピー in が失敗しました

-----------------------------------------------------------

Google等で検索すると、nvarchar型の項目で桁あふれを起こしているようだ、ということまでは分かったのですが、業務上インポート先のテーブルデザインは変えられません。

テーブルデザインを変更する以外に、このエラーを回避する方法はないものでしょうか?
もしありましたら、ご教授いただけますようお願いいたします。



ue
ぬし
会議室デビュー日: 2005/05/07
投稿数: 581
お住まい・勤務地: 広島市
投稿日時: 2007-06-23 12:20
こんにちは。

ソースデータをインポート先にフィットする長さに加工した後で bcp してみてはいかがでしょう。
_________________
上本亮介 (ue) @ わんくま同盟
Microsoft MVP for VSTO (Jul 2008 - Jun 2009)
Hello Another World!
.NET 勉強会 / ヒーロー島
みぎもひだりも
会議室デビュー日: 2007/05/24
投稿数: 16
投稿日時: 2007-06-23 21:22
ueさん、返信いただきありがとうございます。
遅れましてすみません。


ソースデータをインポート先にフィットする長さに加工する、とのことなのですが、実はin側、out側ともに全く同じテーブルデザイン構成なのです。
(質問内容に書いていませんで申し訳ない・・・)
なので、基本的にはソースデータはインポート先にフィットする長さのはずなのですが、例のエラーメッセージが表示されてしまいました。

またデータを加工した場合は、データのインポート完了後にデータを戻さないといけないんですよね?
実はエクスポートするテーブルは複数あり、中には3〜80万件ほどデータ行を持つものもあるんです。
そうすると加工したデータを把握するのが難しいような気もするのですが、出来るものでしょうか?


教えていただいてばかりで恐縮です。
1

スキルアップ/キャリアアップ(JOB@IT)