8

日付列を持つフラット ファイルがあります。ISO 8601 日時標準でフォーマットされています。フォーマットは次のようになります。2013-10-28T10:23:01.000Z

それをdatetimestamp形式に変換するにはどうすればよいですか? 「派生列」を使用しましたが、型キャストが見つかりませんでした。

4

1 に答える 1

13

サンプル パッケージを作成し、フラット ファイル接続マネージャーを追加して、DT_I4 と DT_DATE のデータ型で 2 つの列を定義しました。

rownum,eventdate
1,2013-10-28T10:23:01.000Z

次に、フラット ファイル ソースを使用してデータ フローを追加し、ソース ファイルを選択すると、ブームのインポートに失敗しました。最も厄介なエラーが原因でインポートが失敗する

データ変換に失敗しました。列「eventdate」のデータ変換で、ステータス値 2 とステータス テキスト「データが失われる可能性があるため、値を変換できませんでした。」が返されました。

日付を日付に変換できないのはなぜですか? 設計上の決定は、データのインポートを可能な限りフレンドリーにすることでした。つまり、正気で標準に基づいた、datetime などのテキスト表現を使用する人々はうんざりします。アメリカの怠け者01-02-05はデータを使用して解釈さJan 2, 2005せることができますが、イギリスの怠け者は彼らFeb 1, 2005と日本の人々に誰もが怒っていると思わせることができますFeb 5, 2001

したがって、デフォルトではローカリティが原因であり、ソースデータを考え抜こうとします。解決策は、SSIS に黙ってデータを取得するように指示することです。

黙って、もう私のデータを取ってください!

データ フローで、データ ソースを右クリックし、高度なエディターを選択します。[入出力プロパティ] タブで、[出力列] を展開し、この適切なデータを含む各列についてFastParse、デフォルトの false からTrueに設定する必要があります。

FastParse

于 2013-11-08T16:15:23.963 に答える