dポイントプレゼントキャンペーン実施中!

SQLServer2005でテキストファイルをテーブルに取り込もうとしているのですが、フラットファイルの列の定義(型など)がうまく出来ず、インポートできません。フラットファイルとテーブルの定義があっていないため、「型があっていない」「切り詰められる」等のエラーがたくさん出ます。


以下のような手順で作業しています。
・適当なテーブル、Table1を作成。
・Table1はCol001(int)、Col002(numeric(18,0))、Col003(tinyint)がある(複雑な列定義は一切無し)
・Table1にテストデータを2、3件作成する。
・Table1の内容をTEXTファイルとしてエクスポートする。
・Table1の内容をクリアする。
・TEXTファイルをTable1にインポートする。


このインポートの際、データソースはフラットファイルソースを選択しています。カンマ区切りのフラットファイルです。テーブルの列数とも合っています。フラットファイルを指定した際、画面下に「この接続マネージャには列が定義されていません。」という警告メッセージが表示されます。いろいろ調べましたが、どうしてよいのかわかりません。

お分かりの方いらっしゃいましたら御教示下さい。
尚、情報が足りない場合御指摘頂ければ補足をします。


宜しく御願い致します。

A 回答 (2件)

#1です。


列定義を行う画面に「型の推測」ボタンがありますので、それを押してためしてみてください。
    • good
    • 0

そのテーブルには50バイト未満のchar/varcharのフィールドがありますか?


もしあれば、フラットファイルソースの詳細設定で、該当列の長さを合わせてください。
初期値は50ですので、切捨てられる可能性があるとみなされ、エラーになります。

この回答への補足

回答ありがとうございます。
実際に扱いたいテーブルは列が200近くあり、その一つ一つについて列定義の設定を施さなければならないのかと頭を悩ませています。

補足日時:2009/04/10 19:43
    • good
    • 1
この回答へのお礼

いろいろ調べた結果、
列定義を一律varchar200バイト等にして取り込むことで対応しました。
何かほかにうまい方法もあるかもしれませんが、、、。

ありがとうございました。

お礼日時:2009/04/15 11:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す