SSIS2005を使用してSQLServer2005にロードするファイルがあります。
ファイルには日付フィールドがあります。値はのようなもの'12/01/2010 16:38:51'
です。
ファイルの一部の行が間違っているため、テキストファイルにリダイレクトされます。2010-01-12 16:38:51
ただし、テキストファイルでは、日付はSSISによって変更されます。
とにかく、変更せずにエラー行をテキストファイルにリダイレクトするだけですか?
SSIS2005を使用してSQLServer2005にロードするファイルがあります。
ファイルには日付フィールドがあります。値はのようなもの'12/01/2010 16:38:51'
です。
ファイルの一部の行が間違っているため、テキストファイルにリダイレクトされます。2010-01-12 16:38:51
ただし、テキストファイルでは、日付はSSISによって変更されます。
とにかく、変更せずにエラー行をテキストファイルにリダイレクトするだけですか?
いつでも派生列を使用し、日付の一部を使用して日時をフォーマットできます。
(DT_WSTR, 20) (DT_WSTR, 2) RIGHT("0" + (DT_WSTR,2)MONTH(<DATE_IN_QUESTION>),2) + "/" +
(DT_WSTR, 2) RIGHT("0" + (DT_WSTR,2)DAY(<DATE_IN_QUESTION>),2) + "/" +
(DT_WSTR,4)YEAR(<DATE_IN_QUESTION>) + " " +
(DT_WSTR, 2)DATEPART( "Hh", <DATE_IN_QUESTION>) + ":" +
(DT_WSTR, 2)DATEPART( "mi", <DATE_IN_QUESTION>) + ":" +
(DT_WSTR, 2) RIGHT("0" + (DT_WSTR, 2)DATEPART( "ss", <DATE_IN_QUESTION>),2)
フラットファイルソースの高度なエディターのフラットファイルエラー出力の出力列が「フラットファイルソースエラー出力列」である場合(および列のタイプはデフォルトでテキストストリーム[DT_TEXT]である必要があります)、私の問題は次のとおりです。解決しました。このように、エラー出力のフラットファイルマネージャーは、出力列を「フラットファイルソースエラー出力列」およびタイプ「テキストストリーム[DT_TEXT]」に自動的に設定します。これはまさに私が欲しかったものです。SSISは、行全体を「テキストストリーム[DT_TEXT]」タイプの単一の列として扱い、リダイレクトされます。そして、これはSSISのデフォルトの動作のようです。しかし、元のパッケージでは、どういうわけか混乱して、入力の各列をエラー出力の列にマップさせました。次に、SSISが日付変換を行っていたため、問題が発生しました。
とにかく助けてくれてありがとう。