CSVファイルからの受信値が常に04/20/2012
(MM/DD/YYYY
)のようにフォーマットされている場合、タイプキャストを実行する必要はありません。ファイルの値をdate
データ型として扱うように、フラットファイル接続マネージャーを構成するだけです。
あなたのCSVファイルは、次のようなもので、日付を含む単一の列であるとします。 SSISパッケージで
、CSVファイルを読み込むためにフラットファイル接続マネージャを作成します。私はパスAdvanced
セクションでC:\temp\Source.csv
にCSVを格納し、あなたはフラットファイル接続マネージャがColumn1
として最初の列の名前とデータ型プロパティがstring [DT_STR]
に設定されていることがわかります。ただし、ファイル内の値は実際には日付です。データタイプを手動で設定することも、Suggest Types...
ボタンをクリックすることもできます。 で
列タイプを提案、デフォルト値のままにしてOKをクリックします。これにより、ファイルの最初の100行が読み込まれ、ファイルで使用可能なデータに応じて列の種類が決定されます。
あなたはにOK
をクリックすると列タイプダイアログを提案する、あなたはColumn 0
のためのフラットファイル接続マネージャのデータ型はdate [DT_Date]
に変更されていることがわかります。 OKをクリックして、フラットファイル接続マネージャーを構成します。あなたも今、あなたが設定フラットファイル接続マネージャを持っていることを、あなたはフラットファイル内で使用することができます
(たとえば
InvoiceDateまたは
受注日など)必要に応じて列の名前を変更することができますデータフロータスク内のソースを使用してデータを読み取り、データベースにデータを取り込みます。したがって、派生列変換を使用して値を操作する必要はありません。
ただし、着信ファイルの値が120420 (YYMMDD)
のような文字列の場合、これらの値を日付データ型として構成することはできません。これらのシナリオでは、派生列変換をsuggested in this answerとして使用する必要があります。
希望に役立ちます。
DT_WSTRの代わりにDT_DBTIMESTAMPにキャストしてください。 –