1

SSMS (2012) を使用して、CSV、Excel データを SQL Server 2003 にインポートしようとして、何時間も費やしました。Excel、CSV、およびテキストファイルとしてインポートしようとしましたが、すべてのオプションで独自の問題が発生しました。

現在最大のフラストレーションは、フラットファイル オプションで CSV をインポートするときです。[詳細設定] タブで、ソースの日付列を [DT_DBTIMESTAMP] に設定しました。これは、インポート先の日付列のタイプ [DT_DBTIMESTAMP] と一致しますが、インポート SQL Server を実行するとエラーが発生し、次のように表示されます。

? エラー 0xc02020a1: データ フロー タスク 1: データ変換に失敗しました。列のデータ変換で、ステータス値 2 とステータス テキスト「データが失われる可能性があるため、値を変換できませんでした。」が返されました。(SQL Server インポートおよびエクスポート ウィザード)。

両方の列がまったく同じ型である場合、これはどのように失敗するのでしょうか?

助けてくれてありがとう。

4

2 に答える 2

0

インポート時ではなく、読み取り時に SQLServer がデータの損失について不平を言っている可能性があります。たとえば、DT_DBTIMESTAMP 型は yyyy-mm-dd hh:mm:ss[.fff] の形式を想定しています。データがどの次元でも正しくフォーマットされていない場合 (mm > 12 または dd > 31 など)、それが問題である可能性があります。@Pondlife が提案したように、すべてを varchar(max) フィールドに入れ、TSQL を実行して、すべての行を DBTIMESTAMP データ型に変換できるかどうかを確認するのは単純な変換ステートメントです。

于 2013-06-08T18:30:53.677 に答える