2009-08-06 4 views
1

ターゲットdtabaseにロードする前にSourcefileから抽出した後、SSISパッケージの派生列式でDate(TSQLのisDate関数のような)列をチェックする方法はありますか?ssis由来コンポーネントのisdate関数

おかげ

答えて

2

機能に組み込まれていますが、スクリプトタスクを実行すると、列が日付であるかどうかを確認するためにvb.netコードを使用すると、あなたが望むようにそれを操作することができます何もありません...

1

ドロップできるデータ変換タスクがあります。必要に応じて、インポートを完全に失敗したか、動作しない行を再開するかのいずれかで、行をリダイレクトします。

それともEyouは、日付データ型にフィールドをキャストwher条件分割をしようとし、別の経路に沿って障害を送ることができ(どちらかのレコードを削除するか、一般的なアクションになるフィールドをヌル・アウトする。)

+0

データ変換タスクの日付を検証するにはどうすればよいですか? – rmdussa

+0

ボタンをクリックして、エラー出力とselctリダイレクト行を設定します。次に、レコードが存在しない場合に実行したいタスクに失敗行を接続し、日付に変換します。通常、これらのタイプのエラーをテーブルに移動して、行を調べて問題の内容を確認します。そうすれば、問題を解決するためのコードを書いたり、ソースにデータを送ったりして、ファイルを修正したり、何かをする必要があるかどうかを判断したりすることができます。また、不良データの種類(またはパーセンテージ)が見つかった場合、インポートに失敗することがあります。 – HLGEM

+0

最初の場所に日付を検証する方法が必要ですか?私の主な目的は、有効な日付かどうかにかかわらず、特定の価値を見つけることです – rmdussa

1

私は同様の問題がありました。テキストファイルに日付/時刻がありましたが、フィールドには日付と時刻の間にダッシュがあります。私は、日付にフィールドを変換するには変換列を追加

REPLACE([TimeField], "- ", "")

:私はダッシュに置き換えを行うための派生列を作成しました。私はエラーを無視することにしました。変換されたフィールドがNULLかどうかを確認するために、別のDerived Columnを追加して、値を変換できなかったことを示します。もしそうなら、私はそれを現在の日付に設定しました。

0

あなたの変数は、このような条件文を使用して日付を有するか否かを確認することができます。date > 2が、それはtrueである(と日付を入れた場合、例えば、

testDateVariable?true:false 

、またはあなたのように日付をフォーマットします願い)。 falseの場合はnullを入力します(trueを日付書式に置き換え、falseをnullに置き換えます)。

これはすべてSSISの流行の列です。

+0

これは残念なことに問題ではありません。日付が特定の値であるかどうかではなく、日付かどうかをテストする方法です。 – Rich

関連する問題