SSISデータインポートウィザードを使用して、タブ区切りのフラットファイル(TSVファイル)からSQLServer2005にデータをアップロードする際に問題が発生しました。SQL Server 2000で同等の手順を使用してもこの問題は発生しませんでした。また、SQL Serverのアップグレードが行われるかなり前から、インポートしようとしているファイルの内部構造が変更されていないことを確認しました。
問題は、数値データ型(smallint、floatなど)の列のすべての空白値が、インポート時にNULLではなく0に変換されることです。これは、これらのデータ全体でAVGを実行すると、誤った出力が得られることを意味します。
TSVファイルにはテキスト修飾子が含まれていませんが、一部のダミーデータで修飾子の使用をテストしても、この問題の解決にはつながりませんでした。
VARCHAR列にインポートすることでNULLを保持することは可能ですが、これは理想からはほど遠いものです。SSISインポート/エクスポートウィザードに、フラットファイルから数値データ型が0ではなくNULLの列に空白の値をインポートするように指示する方法はありますか?