FoxProデータソースがあり、宛先はSQLServer2008です。
FoxPro側には、Date
データ型の列があります。これは幅8で、最小値は0001-01-01、最大値は9999-12-31です。SQL Server側では、がありdatetime
ます。また、幅8、最小値は1753-01-01、最大値は9999-12-31です。
SSISデータフロータスクには、FoxProテーブルを読み取るOLEDBソースコンポーネントがあります。列は、外部列と出力列の両方でDT_DBDateとしてマップされます。SQLServerテーブルへのOLEDB変換先は、その列を取得してDT_DBTIMESTAMPにフローします。DT_DBTIMESTAMPはこれらの日付範囲を適切に処理でき、DT_DBDATEについてはかなり確実です(ただし、MSドキュメントで見つけるのに問題があります)。
問題
タスクを実行すると、「無効な日付形式」と「データ値が特定のタイプをオーバーフローしたために変換に失敗しました」という1900年代初頭頃の値から、 2050.どこが間違っているのか正確にはわかりません。
ボーナス質問
データフロータスクでオーバーフローを処理するにはどうすればよいですか?