プロが教える店舗&オフィスのセキュリティ対策術

SQL Server2005を使用しているのですが、データのインポート時に下記のエラーメッセージが出て失敗します。

警告 0x802092a7: データ フロー タスク: 長さ 50 のデータ フロー列 "列 XXX" から、長さ 48 のデータベース列 "ABCDEF" にデータを挿入することにより、切り捨てが行われる可能性があります。
(SQL Server インポートおよびエクスポート ウィザード)

このエラーの回避方法をご存知の方がいらっしゃいましたら教えてください。よろしくお願いします。

A 回答 (3件)

SQLServer2005のバグのようです。


SQLServer2005 ServicePack1を当てることで、
直ります。操作方法も若干変わるようです。
    • good
    • 0

もし、他にいい方法が浮かばないならですが、


Varchar(48)を一旦Varchar(50)にして試してみて頂けませんか。

で、50にして、すんなり入ったとします。

そのアイテムのレングスが48を超えるものを抽出するSQLを投げてみてください。
なにか答えが出るかもしれません。
    • good
    • 0

※調べた訳でなく見た感じでの意見です。



格納するアイテムABCDEFがレングス48で
実際のデータがそれより2長い50という事のようですね。

後ろのレングス2分を捨てていいならそのままインポートを強行すればいいですし、
そうでなければアイテムABCDEFのレングスを50にした後でインポートすれば良いです。

48の長さのエリアに50の長さを持つデータは格納できません。

この回答への補足

回答ありがとうございます。
Varchar(48)のTABLEに対して、Varchar(48)のデータをインポートしているので、問題はないはずです。
ちなみにいろいろなパターンでインポートをしているのですが、かならずこのようなエラーメッセージが出て失敗します。SQL2000を使用していたころには、このようなことに悩まされることはありませんでした。

補足日時:2007/03/17 15:53
    • good
    • 0

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